VirtualBox

Changeset 38243 in vbox


Ignore:
Timestamp:
Jul 31, 2011 8:36:00 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
73226
Message:

HWACCM/SVM: Fix running 64bit guests on AMD E-350 CPUs. The DPL field of the hidden segment selector can be wrong and the CPU uses the CPL field in the VMCB to get privilege level

File:
1 edited

Legend:

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

    r37955 r38243  
    14931493    SVM_ASSERT_SEL_GRANULARITY(gs);
    14941494#undef  SVM_ASSERT_SEL_GRANULARITY
     1495
     1496    /*
     1497     * Correct the hidden SS DPL field. It can be wrong on certain CPUs
     1498     * sometimes (seen it on AMD Fusion APUs with 64bit guests). The CPU
     1499     * always uses the CPL field in the VMCB instead of the DPL in the hidden
     1500     * SS (chapter 15.5.1 Basic operation).
     1501     */
     1502    Assert(!(pVMCB->guest.u8CPL & ~0x3));
     1503    pCtx->ssHid.Attr.n.u2Dpl = pVMCB->guest.u8CPL & 0x3;
    14951504
    14961505    /* Remaining guest CPU context: TR, IDTR, GDTR, LDTR; must sync everything otherwise we can get out of sync when jumping to ring 3. */
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