VirtualBox

Ignore:
Timestamp:
Jan 29, 2021 2:55:56 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142502
Message:

VMM/HMVMX: Moving more stuff to HMR0PERVCPU. bugref:9217

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r87479 r87480  
    12841284    Assert(pHostCpu->idCpu != NIL_RTCPUID);
    12851285    if (   pVCpu->hmr0.s.idLastCpu   != pHostCpu->idCpu
    1286         || pVCpu->hm.s.cTlbFlushes != pHostCpu->cTlbFlushes
     1286        || pVCpu->hmr0.s.cTlbFlushes != pHostCpu->cTlbFlushes
    12871287#ifdef VBOX_WITH_NESTED_HWVIRT_SVM
    12881288        || CPUMIsGuestInSvmNestedHwVirtMode(&pVCpu->cpum.GstCtx)
     
    13141314        pHostCpu->uCurrentAsid           = 1;
    13151315        pVCpu->hmr0.s.uCurrentAsid       = 1;
    1316         pVCpu->hm.s.cTlbFlushes          = pHostCpu->cTlbFlushes;
     1316        pVCpu->hmr0.s.cTlbFlushes        = pHostCpu->cTlbFlushes;
    13171317        pVCpu->hmr0.s.idLastCpu          = pHostCpu->idCpu;
    13181318        pVmcb->ctrl.TLBCtrl.n.u8TLBFlush = SVM_TLB_FLUSH_ENTIRE;
     
    13381338                    pHostCpu->uCurrentAsid = 1;      /* Wraparound at 1; host uses 0 */
    13391339                    pHostCpu->cTlbFlushes++;         /* All VCPUs that run on this host CPU must use a new ASID. */
    1340                     fHitASIDLimit      = true;
     1340                    fHitASIDLimit          = true;
    13411341                }
    13421342
     
    13501350                pVCpu->hmr0.s.uCurrentAsid = pHostCpu->uCurrentAsid;
    13511351                pVCpu->hmr0.s.idLastCpu    = pHostCpu->idCpu;
    1352                 pVCpu->hm.s.cTlbFlushes    = pHostCpu->cTlbFlushes;
     1352                pVCpu->hmr0.s.cTlbFlushes  = pHostCpu->cTlbFlushes;
    13531353            }
    13541354            else
     
    13731373    AssertMsg(pVCpu->hmr0.s.idLastCpu == pHostCpu->idCpu,
    13741374              ("vcpu idLastCpu=%u hostcpu idCpu=%u\n", pVCpu->hmr0.s.idLastCpu, pHostCpu->idCpu));
    1375     AssertMsg(pVCpu->hm.s.cTlbFlushes == pHostCpu->cTlbFlushes,
    1376               ("Flush count mismatch for cpu %u (%u vs %u)\n", pHostCpu->idCpu, pVCpu->hm.s.cTlbFlushes, pHostCpu->cTlbFlushes));
     1375    AssertMsg(pVCpu->hmr0.s.cTlbFlushes == pHostCpu->cTlbFlushes,
     1376              ("Flush count mismatch for cpu %u (%u vs %u)\n", pHostCpu->idCpu, pVCpu->hmr0.s.cTlbFlushes, pHostCpu->cTlbFlushes));
    13771377    AssertMsg(pHostCpu->uCurrentAsid >= 1 && pHostCpu->uCurrentAsid < pVM->hm.s.uMaxAsid,
    13781378              ("cpu%d uCurrentAsid = %x\n", pHostCpu->idCpu, pHostCpu->uCurrentAsid));
     
    43414341    uint64_t const uHostTsc = ASMReadTSC();                     /* Read the TSC as soon as possible. */
    43424342    ASMAtomicWriteBool(&pVCpu->hm.s.fCheckedTLBFlush, false);   /* See HMInvalidatePageOnAllVCpus(): used for TLB flushing. */
    4343     ASMAtomicIncU32(&pVCpu->hm.s.cWorldSwitchExits);            /* Initialized in vmR3CreateUVM(): used for EMT poking. */
     4343    ASMAtomicIncU32(&pVCpu->hmr0.s.cWorldSwitchExits);          /* Initialized in vmR3CreateUVM(): used for EMT poking. */
    43444344
    43454345    PSVMVMCB     pVmcb     = pSvmTransient->pVmcb;
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