Changeset 60652 in vbox
- Timestamp:
- Apr 22, 2016 2:34:46 PM (8 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
-
VMMAll/APICAll.cpp (modified) (8 diffs)
-
VMMR3/APIC.cpp (modified) (6 diffs)
-
include/APICInternal.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/APICAll.cpp
r60650 r60652 1143 1143 VMCPU_ASSERT_EMT(pVCpu); 1144 1144 1145 Log2(("APIC%u: apicSetTpr: uTpr=%#RX32\n", pVCpu->idCpu, uTpr)); 1146 1145 1147 if ( XAPIC_IN_X2APIC_MODE(pVCpu) 1146 1148 && (uTpr & ~XAPIC_TPR)) … … 1362 1364 pXApicPage->timer_ccr.u32CurrentCount = uInitialCount; 1363 1365 if (uInitialCount) 1364 APICStartTimer(p ApicCpu, uInitialCount);1366 APICStartTimer(pVCpu, uInitialCount); 1365 1367 else 1366 APICStopTimer(p ApicCpu);1368 APICStopTimer(pVCpu); 1367 1369 TMTimerUnlock(pTimer); 1368 1370 } … … 2162 2164 AssertReturn(u8Pin <= 1, VERR_INVALID_PARAMETER); 2163 2165 AssertReturn(u8Level <= 1, VERR_INVALID_PARAMETER); 2164 LogFlow(("APIC%u: APICLocalInterrupt\n", pVCpu->idCpu));2165 2166 2166 2167 VBOXSTRICTRC rcStrict = VINF_SUCCESS; … … 2248 2249 { 2249 2250 /* LINT0 behaves as an external interrupt pin. */ 2250 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, %s ExtINT through LINT0\n", pVCpu->idCpu,2251 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, %s INTR\n", pVCpu->idCpu, 2251 2252 u8Level ? "raising" : "lowering")); 2252 2253 if (u8Level) … … 2258 2259 { 2259 2260 /* LINT1 behaves as NMI. */ 2260 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, raising NMI through LINT1\n", pVCpu->idCpu));2261 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, raising NMI\n", pVCpu->idCpu)); 2261 2262 APICSetInterruptFF(pVCpu, PDMAPICIRQ_NMI); 2262 2263 } … … 2483 2484 * Starts the APIC timer. 2484 2485 * 2485 * @param p ApicCpu The APIC CPU state.2486 * @param pVCpu The cross context virtual CPU structure. 2486 2487 * @param uInitialCount The timer's Initial-Count Register (ICR), must be > 2487 2488 * 0. 2488 2489 * @thread Any. 2489 2490 */ 2490 VMM_INT_DECL(void) APICStartTimer(PAPICCPU pApicCpu, uint32_t uInitialCount) 2491 { 2492 Assert(pApicCpu); 2491 VMM_INT_DECL(void) APICStartTimer(PVMCPU pVCpu, uint32_t uInitialCount) 2492 { 2493 Assert(pVCpu); 2494 PAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu); 2493 2495 Assert(TMTimerIsLockOwner(pApicCpu->CTX_SUFF(pTimer))); 2494 2496 Assert(uInitialCount > 0); … … 2497 2499 uint8_t const uTimerShift = apicGetTimerShift(pXApicPage); 2498 2500 uint64_t const cTicksToNext = (uint64_t)uInitialCount << uTimerShift; 2501 2502 Log2(("APIC%u: APICStartTimer: uInitialCount=%u uTimerShift=%u cTicksToNext=%RU64\n", pVCpu->idCpu, uInitialCount, 2503 uTimerShift, cTicksToNext)); 2499 2504 2500 2505 /* … … 2513 2518 * Stops the APIC timer. 2514 2519 * 2515 * @param p ApicCpu The APIC CPU state.2520 * @param pVCpu The cross context virtual CPU structure. 2516 2521 * @thread Any. 2517 2522 */ 2518 VMM_INT_DECL(void) APICStopTimer(PAPICCPU pApicCpu) 2519 { 2520 Assert(pApicCpu); 2523 VMM_INT_DECL(void) APICStopTimer(PVMCPU pVCpu) 2524 { 2525 Assert(pVCpu); 2526 PAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu); 2521 2527 Assert(TMTimerIsLockOwner(pApicCpu->CTX_SUFF(pTimer))); 2528 2529 Log2(("APIC%u: APICStopTimer\n", pVCpu->idCpu)); 2522 2530 2523 2531 PTMTIMER pTimer = pApicCpu->CTX_SUFF(pTimer); -
trunk/src/VBox/VMM/VMMR3/APIC.cpp
r60650 r60652 260 260 VMCPU_ASSERT_EMT_OR_NOT_RUNNING(pVCpu); 261 261 262 LogFlow(("APIC%u: APICR3Reset \n", pVCpu->idCpu));262 LogFlow(("APIC%u: APICR3Reset: fResetApicBaseMsr=%RTbool\n", pVCpu->idCpu, fResetApicBaseMsr)); 263 263 264 264 #ifdef VBOX_STRICT … … 718 718 PVM pVM = PDMDevHlpGetVM(pApicDev->pDevInsR3); 719 719 720 LogFlow(("APIC: apicR3LiveExec: uPass=%u\n", uPass)); 721 720 722 int rc = apicR3SaveVMData(pVM, pSSM); 721 723 AssertRCReturn(rc, rc); … … 733 735 PAPIC pApic = VM_TO_APIC(pVM); 734 736 AssertReturn(pVM, VERR_INVALID_VM_HANDLE); 737 738 LogFlow(("APIC: apicR3SaveExec\n")); 735 739 736 740 /* Save per-VM data. */ … … 781 785 PAPIC pApic = VM_TO_APIC(pVM); 782 786 AssertReturn(pVM, VERR_INVALID_VM_HANDLE); 787 788 LogFlow(("APIC: apicR3LoadExec: uVersion=%u uPass=%u\n", uVersion, uPass)); 783 789 784 790 /* Weed out invalid versions. */ … … 897 903 { 898 904 Log2(("APIC%u: apicR3TimerCallback: Re-arming timer. uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount)); 899 APICStartTimer(p ApicCpu, uInitialCount);905 APICStartTimer(pVCpu, uInitialCount); 900 906 } 901 907 break; … … 927 933 VM_ASSERT_EMT0(pVM); 928 934 VM_ASSERT_IS_NOT_RUNNING(pVM); 935 936 LogFlow(("APIC: apicR3Reset\n")); 929 937 930 938 for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++) -
trunk/src/VBox/VMM/include/APICInternal.h
r60646 r60652 649 649 650 650 VMM_INT_DECL(void) APICPostInterrupt(PVMCPU pVCpu, uint8_t uVector, XAPICTRIGGERMODE enmTriggerMode); 651 VMM_INT_DECL(void) APICStartTimer(P APICCPU pApicCpu, uint32_t uInitialCount);652 VMM_INT_DECL(void) APICStopTimer(P APICCPU pApicCpu);651 VMM_INT_DECL(void) APICStartTimer(PVMCPU pVCpu, uint32_t uInitialCount); 652 VMM_INT_DECL(void) APICStopTimer(PVMCPU pVCpu); 653 653 VMM_INT_DECL(void) APICUpdateCpuIdForMode(PVM pVM, APICMODE enmMode); 654 654
Note:
See TracChangeset
for help on using the changeset viewer.

