VirtualBox

Changeset 60652 in vbox


Ignore:
Timestamp:
Apr 22, 2016 2:34:46 PM (8 years ago)
Author:
vboxsync
Message:

VMM/APIC: More flow logging.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/APICAll.cpp

    r60650 r60652  
    11431143    VMCPU_ASSERT_EMT(pVCpu);
    11441144
     1145    Log2(("APIC%u: apicSetTpr: uTpr=%#RX32\n", pVCpu->idCpu, uTpr));
     1146
    11451147    if (   XAPIC_IN_X2APIC_MODE(pVCpu)
    11461148        && (uTpr & ~XAPIC_TPR))
     
    13621364        pXApicPage->timer_ccr.u32CurrentCount = uInitialCount;
    13631365        if (uInitialCount)
    1364             APICStartTimer(pApicCpu, uInitialCount);
     1366            APICStartTimer(pVCpu, uInitialCount);
    13651367        else
    1366             APICStopTimer(pApicCpu);
     1368            APICStopTimer(pVCpu);
    13671369        TMTimerUnlock(pTimer);
    13681370    }
     
    21622164    AssertReturn(u8Pin <= 1, VERR_INVALID_PARAMETER);
    21632165    AssertReturn(u8Level <= 1, VERR_INVALID_PARAMETER);
    2164     LogFlow(("APIC%u: APICLocalInterrupt\n", pVCpu->idCpu));
    21652166
    21662167    VBOXSTRICTRC rcStrict = VINF_SUCCESS;
     
    22482249        {
    22492250            /* 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,
    22512252                  u8Level ? "raising" : "lowering"));
    22522253            if (u8Level)
     
    22582259        {
    22592260            /* 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));
    22612262            APICSetInterruptFF(pVCpu, PDMAPICIRQ_NMI);
    22622263        }
     
    24832484 * Starts the APIC timer.
    24842485 *
    2485  * @param   pApicCpu        The APIC CPU state.
     2486 * @param   pVCpu           The cross context virtual CPU structure.
    24862487 * @param   uInitialCount   The timer's Initial-Count Register (ICR), must be >
    24872488 *                          0.
    24882489 * @thread  Any.
    24892490 */
    2490 VMM_INT_DECL(void) APICStartTimer(PAPICCPU pApicCpu, uint32_t uInitialCount)
    2491 {
    2492     Assert(pApicCpu);
     2491VMM_INT_DECL(void) APICStartTimer(PVMCPU pVCpu, uint32_t uInitialCount)
     2492{
     2493    Assert(pVCpu);
     2494    PAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu);
    24932495    Assert(TMTimerIsLockOwner(pApicCpu->CTX_SUFF(pTimer)));
    24942496    Assert(uInitialCount > 0);
     
    24972499    uint8_t  const uTimerShift  = apicGetTimerShift(pXApicPage);
    24982500    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));
    24992504
    25002505    /*
     
    25132518 * Stops the APIC timer.
    25142519 *
    2515  * @param   pApicCpu        The APIC CPU state.
     2520 * @param   pVCpu               The cross context virtual CPU structure.
    25162521 * @thread  Any.
    25172522 */
    2518 VMM_INT_DECL(void) APICStopTimer(PAPICCPU pApicCpu)
    2519 {
    2520     Assert(pApicCpu);
     2523VMM_INT_DECL(void) APICStopTimer(PVMCPU pVCpu)
     2524{
     2525    Assert(pVCpu);
     2526    PAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu);
    25212527    Assert(TMTimerIsLockOwner(pApicCpu->CTX_SUFF(pTimer)));
     2528
     2529    Log2(("APIC%u: APICStopTimer\n", pVCpu->idCpu));
    25222530
    25232531    PTMTIMER pTimer = pApicCpu->CTX_SUFF(pTimer);
  • trunk/src/VBox/VMM/VMMR3/APIC.cpp

    r60650 r60652  
    260260    VMCPU_ASSERT_EMT_OR_NOT_RUNNING(pVCpu);
    261261
    262     LogFlow(("APIC%u: APICR3Reset\n", pVCpu->idCpu));
     262    LogFlow(("APIC%u: APICR3Reset: fResetApicBaseMsr=%RTbool\n", pVCpu->idCpu, fResetApicBaseMsr));
    263263
    264264#ifdef VBOX_STRICT
     
    718718    PVM      pVM      = PDMDevHlpGetVM(pApicDev->pDevInsR3);
    719719
     720    LogFlow(("APIC: apicR3LiveExec: uPass=%u\n", uPass));
     721
    720722    int rc = apicR3SaveVMData(pVM, pSSM);
    721723    AssertRCReturn(rc, rc);
     
    733735    PAPIC    pApic    = VM_TO_APIC(pVM);
    734736    AssertReturn(pVM, VERR_INVALID_VM_HANDLE);
     737
     738    LogFlow(("APIC: apicR3SaveExec\n"));
    735739
    736740    /* Save per-VM data. */
     
    781785    PAPIC    pApic    = VM_TO_APIC(pVM);
    782786    AssertReturn(pVM, VERR_INVALID_VM_HANDLE);
     787
     788    LogFlow(("APIC: apicR3LoadExec: uVersion=%u uPass=%u\n", uVersion, uPass));
    783789
    784790    /* Weed out invalid versions. */
     
    897903            {
    898904                Log2(("APIC%u: apicR3TimerCallback: Re-arming timer. uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount));
    899                 APICStartTimer(pApicCpu, uInitialCount);
     905                APICStartTimer(pVCpu, uInitialCount);
    900906            }
    901907            break;
     
    927933    VM_ASSERT_EMT0(pVM);
    928934    VM_ASSERT_IS_NOT_RUNNING(pVM);
     935
     936    LogFlow(("APIC: apicR3Reset\n"));
    929937
    930938    for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
  • trunk/src/VBox/VMM/include/APICInternal.h

    r60646 r60652  
    649649
    650650VMM_INT_DECL(void)      APICPostInterrupt(PVMCPU pVCpu, uint8_t uVector, XAPICTRIGGERMODE enmTriggerMode);
    651 VMM_INT_DECL(void)      APICStartTimer(PAPICCPU pApicCpu, uint32_t uInitialCount);
    652 VMM_INT_DECL(void)      APICStopTimer(PAPICCPU pApicCpu);
     651VMM_INT_DECL(void)      APICStartTimer(PVMCPU pVCpu, uint32_t uInitialCount);
     652VMM_INT_DECL(void)      APICStopTimer(PVMCPU pVCpu);
    653653VMM_INT_DECL(void)      APICUpdateCpuIdForMode(PVM pVM, APICMODE enmMode);
    654654
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette