VirtualBox

Changeset 60523 in vbox for trunk


Ignore:
Timestamp:
Apr 15, 2016 2:58:58 PM (9 years ago)
Author:
vboxsync
Message:

VMM/APIC: profiling fix, logging.

File:
1 edited

Legend:

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

    r60516 r60523  
    23422342    STAM_COUNTER_INC(&pVCpu->apic.s.CTX_SUFF(StatMmioWrite));
    23432343
    2344     LogRel(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));
     2344    Log4(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));
    23452345
    23462346    int rc = VBOXSTRICTRC_VAL(apicWriteRegister(pApicDev, pVCpu, offReg, uValue));
     
    24072407        if (enmTriggerMode == XAPICTRIGGERMODE_EDGE)
    24082408        {
    2409             Assert(CTX_SUFF(pApicCpu->pvApicPib));
    2410             apicSetVectorInPib(CTX_SUFF(pApicCpu->pvApicPib), uVector);
    2411             bool const fAlreadySet = apicSetNotificationBitInPib(CTX_SUFF(pApicCpu->pvApicPib));
    2412             if (!fAlreadySet)
    2413             {
    2414                 if (pApic->fPostedIntrsEnabled)
    2415                 { /** @todo posted-interrupt call to hardware */ }
    2416                 else
     2409            if (pApic->fPostedIntrsEnabled)
     2410            { /** @todo posted-interrupt call to hardware */ }
     2411            else
     2412            {
     2413                Assert(CTX_SUFF(pApicCpu->pvApicPib));
     2414                apicSetVectorInPib(CTX_SUFF(pApicCpu->pvApicPib), uVector);
     2415                bool const fAlreadySet = apicSetNotificationBitInPib(CTX_SUFF(pApicCpu->pvApicPib));
     2416                if (!fAlreadySet)
    24172417                    APICSetInterruptFF(pVCpu, PDMAPICIRQ_HARDWARE);
    24182418            }
     
    26122612            if (uFragment)
    26132613            {
    2614                 apicOrVectorsToReg(&pXApicPage->irr,  i,  uFragment);
    2615                 apicAndVectorsToReg(&pXApicPage->tmr, i, ~uFragment);
     2614                pXApicPage->irr.u[i].u32Reg |=  uFragment;
     2615                pXApicPage->tmr.u[i].u32Reg &= ~uFragment;
    26162616            }
    26172617        }
     
    26312631            if (uFragment)
    26322632            {
    2633                 apicOrVectorsToReg(&pXApicPage->irr, i, uFragment);
    2634                 apicOrVectorsToReg(&pXApicPage->tmr, i, uFragment);
     2633                pXApicPage->irr.u[i].u32Reg |= uFragment;
     2634                pXApicPage->tmr.u[i].u32Reg |= uFragment;
    26352635            }
    26362636        }
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