VirtualBox

Changeset 38816 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Sep 21, 2011 1:50:57 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
74111
Message:

HWSVMR0.cpp: Addendum to r73226 and #5666 - Since we update SS.DPL with the CPL, we must always read the CPL from SS.DPL.

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

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

    r37136 r38816  
    23412341         * This only seems to apply to AMD-V; in the VT-x case we *do* need to look
    23422342         * at SS. (ACP2 regression during install after a far call to ring 2)
     2343         *
     2344         * Seems it isn't necessiarly true for newer AMD-V CPUs even, we have
     2345         * to move the VMCB.guest.u8CPL into Attr.n.u2Dpl to make this (and
     2346         * other) code work right.  So, forget CS.DPL, always use SS.DPL.
    23432347         */
    23442348        if (RT_LIKELY(pVCpu->cpum.s.Guest.cr0 & X86_CR0_PE))
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r38684 r38816  
    863863
    864864    /* Set CPL */
    865     pVMCB->guest.u8CPL     = pCtx->csHid.Attr.n.u2Dpl;
     865    pVMCB->guest.u8CPL     = pCtx->ssHid.Attr.n.u2Dpl;
    866866
    867867    /* RAX/EAX too, as VMRUN uses RAX as an implicit parameter. */
     
    10921092     * Note! Interrupts must be disabled done *before* we check for TLB flushes; TLB
    10931093     *       shootdowns rely on this.
    1094      */
     1094     */                                               
    10951095    uOldEFlags = ASMIntDisableFlags();
    10961096    if (RTThreadPreemptIsPending(NIL_RTTHREAD))
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