- Timestamp:
- Apr 4, 2016 4:02:21 PM (9 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/APICAll.cpp
r60307 r60309 216 216 217 217 /** 218 * Gets the current APIC mode.219 * 220 * @returns The mode.221 * @param pApicCpu The APIC CPU state.218 * Gets the APIC mode given the base MSR value. 219 * 220 * @returns The APIC mode. 221 * @param uApicBaseMsr The APIC Base MSR value. 222 222 */ 223 223 static APICMODE apicGetMode(uint64_t uApicBaseMsr) … … 337 337 * 338 338 * @param pVCpu The cross context virtual CPU structure. 339 * @param uError The error. 339 340 * @thread Any. 340 341 */ … … 350 351 * 351 352 * @returns The value of the internal ESR before clearing. 352 * @param p ApicCpu The APIC CPU state.353 * @param pVCpu The cross context virtual CPU structure. 353 354 */ 354 355 DECLINLINE(uint32_t) apicClearAllErrors(PVMCPU pVCpu) … … 848 849 * @returns Strict VBox status code. 849 850 * @param pVCpu The cross context virtual CPU structure. 850 * @param u IcrHi The ICR value.851 * @param u64Icr The ICR (High and Low combined). 851 852 * @param rcRZ The return code if the operation cannot be performed 852 853 * in the current context. 853 854 */ 854 static VBOXSTRICTRC apicSetIcr(PVMCPU pVCpu, uint64_t u Icr, int rcRZ)855 static VBOXSTRICTRC apicSetIcr(PVMCPU pVCpu, uint64_t u64Icr, int rcRZ) 855 856 { 856 857 VMCPU_ASSERT_EMT(pVCpu); … … 858 859 859 860 /* Validate. */ 860 uint32_t const uLo = RT_LO_U32(u Icr);861 uint32_t const uLo = RT_LO_U32(u64Icr); 861 862 if (RT_LIKELY(!(uLo & ~XAPIC_ICR_LO_WR))) 862 863 { 863 864 /* Update high dword first, then update the low dword which sends the IPI. */ 864 865 PX2APICPAGE pX2ApicPage = VMCPU_TO_X2APICPAGE(pVCpu); 865 pX2ApicPage->icr_hi.u32IcrHi = RT_HI_U32(u Icr);866 pX2ApicPage->icr_hi.u32IcrHi = RT_HI_U32(u64Icr); 866 867 return apicSetIcrLo(pVCpu, uLo, rcRZ); 867 868 } … … 1031 1032 * @returns Strict VBox status code. 1032 1033 * @param pVCpu The cross context virtual CPU structure. 1033 * @param u Ldr The DFR value.1034 * @param uDfr The DFR value. 1034 1035 * 1035 1036 * @remarks DFR is not available in x2APIC mode. … … 1266 1267 * 1267 1268 * @param pApicCpu The APIC CPU state. 1269 * @param uInitialCount The new initial count. 1270 * @param uTimerShift The new timer shift. 1268 1271 * @thread Any. 1269 1272 */ … … 1751 1754 * @interface_method_impl{PDMAPICREG,pfnSetBaseMsrR3} 1752 1755 */ 1753 VMMDECL(VBOXSTRICTRC) APICSetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint64_t u Base)1756 VMMDECL(VBOXSTRICTRC) APICSetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint64_t u64BaseMsr) 1754 1757 { 1755 1758 Assert(pVCpu); … … 1757 1760 PAPIC pApic = VM_TO_APIC(pVCpu->CTX_SUFF(pVM)); 1758 1761 APICMODE enmOldMode = apicGetMode(pApicCpu->uApicBaseMsr); 1759 APICMODE enmNewMode = apicGetMode(u Base);1762 APICMODE enmNewMode = apicGetMode(u64BaseMsr); 1760 1763 uint64_t uBaseMsr = pApicCpu->uApicBaseMsr; 1761 1764 … … 1915 1918 { 1916 1919 NOREF(uPolarity); 1920 NOREF(uTagSrc); 1917 1921 PVM pVM = PDMDevHlpGetVM(pDevIns); 1918 1922 -
trunk/src/VBox/VMM/VMMAll/PDMAll.cpp
r60307 r60309 375 375 * @returns Strict VBox status code. 376 376 * @param pVCpu The cross context virtual CPU structure. 377 * @param iCpu Target CPU.378 377 * @param u32Reg MSR to write. 379 378 * @param u64Value Value to write. … … 396 395 * @returns Strict VBox status code. 397 396 * @param pVCpu The cross context virtual CPU structure. 398 * @param iCpu Target CPU.399 397 * @param u32Reg MSR to read. 400 * @param pu64Value Value read.398 * @param pu64Value Where to store the value read. 401 399 */ 402 400 VMM_INT_DECL(VBOXSTRICTRC) PDMApicReadMsr(PVMCPU pVCpu, uint32_t u32Reg, uint64_t *pu64Value) -
trunk/src/VBox/VMM/VMMR3/APIC.cpp
r60307 r60309 268 268 * Gets the timer mode name. 269 269 * 270 * @returns The timer m doe name.271 * @param enm DestShorthand The destination shorthand.270 * @returns The timer mode name. 271 * @param enmTimerMode The timer mode. 272 272 */ 273 273 static const char *apicGetTimerModeName(XAPICTIMERMODE enmTimerMode) … … 794 794 * 795 795 * @returns The legacy APIC mode. 796 * @param enm ApicMode The APIC mode to convert.796 * @param enmMode The APIC mode to convert. 797 797 */ 798 798 static PDMAPICMODE apicR3ConvertToLegacyApicMode(APICMODE enmMode) -
trunk/src/VBox/VMM/include/PDMInternal.h
r60307 r60309 581 581 DECLR3CALLBACKMEMBER(VBOXSTRICTRC, pfnReadMsrR3, (PPDMDEVINS pDevIns, PVMCPU pVCpu, uint32_t u32Reg, uint64_t *pu64Value)); 582 582 /** @copydoc PDMAPICREG::pfnBusDeliverR3 */ 583 DECLR3CALLBACKMEMBER(int, pfnBusDeliverR3,(PPDMDEVINS pDevIns, uint8_t u 8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode,584 uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode, uint32_t uTagSrc));583 DECLR3CALLBACKMEMBER(int, pfnBusDeliverR3,(PPDMDEVINS pDevIns, uint8_t uDest, uint8_t uDestMode, uint8_t uDeliveryMode, 584 uint8_t uVector, uint8_t uPolarity, uint8_t uTriggerMode, uint32_t uTagSrc)); 585 585 /** @copydoc PDMAPICREG::pfnLocalInterruptR3 */ 586 586 DECLR3CALLBACKMEMBER(VBOXSTRICTRC, pfnLocalInterruptR3,(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Pin, uint8_t u8Level,
Note:
See TracChangeset
for help on using the changeset viewer.