VirtualBox

Changeset 42036 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jul 6, 2012 4:17:50 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
78928
Message:

VMM/HWVMXR0: Fix guru meditation on resume with VPIDs.

File:
1 edited

Legend:

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

    r42024 r42036  
    166166     * Ensure each VCPU scheduled on this CPU gets a new VPID on resume. See @bugref{6255}.
    167167     */
    168     pCpu->cTLBFlushes++;
     168    pCpu->uCurrentASID = 0;
    169169
    170170    return VINF_SUCCESS;
     
    23992399     */
    24002400    bool fNewASID = false;
    2401     if (    pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
    2402         ||  pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes)
     2401    if (   pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
     2402        || pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes
     2403        || pCpu->uCurrentASID == 0)
    24032404    {
    24042405        pVCpu->hwaccm.s.fForceTLBFlush = true;
     
    25242525     * If the TLB flush count shouldn't really change in this EPT-only case.
    25252526     */
    2526     if (    pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
    2527         ||  pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes)
     2527    if (   pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
     2528        || pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes
     2529        || pCpu->uCurrentASID == 0)
    25282530    {
    25292531        pVCpu->hwaccm.s.fForceTLBFlush = true;
     
    25892591     * so we cannot reuse the current ASID anymore.
    25902592     */
    2591     if (    pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
    2592         ||  pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes)
     2593    if (   pVCpu->hwaccm.s.idLastCpu != pCpu->idCpu
     2594        || pVCpu->hwaccm.s.cTLBFlushes != pCpu->cTLBFlushes
     2595        || pCpu->uCurrentASID == 0)
    25932596    {
    25942597        /* Force a TLB flush on VM entry. */
Note: See TracChangeset for help on using the changeset viewer.

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