VirtualBox

Changeset 70900 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Feb 8, 2018 9:40:29 AM (7 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested Hw.virt: Don't ignore result of PGMFlushTLB.

File:
1 edited

Legend:

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

    r70863 r70900  
    6464     * below doesn't actually change anything.
    6565     */
    66     PGMFlushTLB(pVCpu, pCtx->cr3, true);
    67 
    68     /*
    69      * Inform PGM about paging mode changes.
    70      * We include X86_CR0_PE because PGM doesn't handle paged-real mode yet,
    71      * see comment in iemMemPageTranslateAndCheckAccess().
    72      */
    73     int rc = PGMChangeMode(pVCpu, pCtx->cr0 | X86_CR0_PE, pCtx->cr4, pCtx->msrEFER);
     66    int rc = PGMFlushTLB(pVCpu, pCtx->cr3, true);
     67    if (RT_SUCCESS(rc))
     68    {
     69        /*
     70         * Inform PGM about paging mode changes.
     71         * We include X86_CR0_PE because PGM doesn't handle paged-real mode yet,
     72         * see comment in iemMemPageTranslateAndCheckAccess().
     73         */
     74        rc = PGMChangeMode(pVCpu, pCtx->cr0 | X86_CR0_PE, pCtx->cr4, pCtx->msrEFER);
    7475#ifdef IN_RING3
    75     Assert(rc != VINF_PGM_CHANGE_MODE);
     76        Assert(rc != VINF_PGM_CHANGE_MODE);
    7677#endif
    77     AssertRCReturn(rc, rc);
    78 
    79     /* Inform CPUM (recompiler), can later be removed. */
    80     CPUMSetChangedFlags(pVCpu, CPUM_CHANGED_ALL);
    81 
    82     /* Re-initialize IEM cache/state after the drastic mode switch. */
    83     iemReInitExec(pVCpu);
     78        AssertRCReturn(rc, rc);
     79
     80        /* Inform CPUM (recompiler), can later be removed. */
     81        CPUMSetChangedFlags(pVCpu, CPUM_CHANGED_ALL);
     82
     83        /* Re-initialize IEM cache/state after the drastic mode switch. */
     84        iemReInitExec(pVCpu);
     85    }
    8486    return rc;
    8587}
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