VirtualBox

Changeset 9769

Show
Ignore:
Timestamp:
06/17/08 15:53:12 (6 months ago)
Author:
vboxsync
Message:

Sync MSRs before the CRx registers.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/recompiler/VBoxRecompiler.c

    r9732 r9769  
    16871687    } 
    16881688 
     1689    /* Update MSRs; before CRx registers! */ 
     1690    pVM->rem.s.Env.efer         = pCtx->msrEFER; 
     1691    pVM->rem.s.Env.star         = pCtx->msrSTAR; 
     1692    pVM->rem.s.Env.pat          = pCtx->msrPAT; 
     1693#ifdef TARGET_X86_64 
     1694    pVM->rem.s.Env.lstar        = pCtx->msrLSTAR; 
     1695    pVM->rem.s.Env.cstar        = pCtx->msrCSTAR; 
     1696    pVM->rem.s.Env.fmask        = pCtx->msrSFMASK; 
     1697    pVM->rem.s.Env.kernelgsbase = pCtx->msrKERNELGSBASE; 
     1698#endif 
     1699    /* Note that FS_BASE & GS_BASE are already synced; QEmu keeps them in the hidden selector registers. 
     1700     * So we basically assume the hidden registers are in sync with these MSRs (vt-x & amd-v). Correct?? 
     1701     */ 
     1702 
     1703 
    16891704    /* 
    16901705     * Registers which are rarely changed and require special handling / order when changed. 
     
    19071922            pVM->rem.s.Env.segs[R_GS].newselector = 0; 
    19081923    } 
    1909  
    1910     /* Update MSRs. */ 
    1911     pVM->rem.s.Env.efer         = pCtx->msrEFER; 
    1912     pVM->rem.s.Env.star         = pCtx->msrSTAR; 
    1913     pVM->rem.s.Env.pat          = pCtx->msrPAT; 
    1914 #ifdef TARGET_X86_64 
    1915     pVM->rem.s.Env.lstar        = pCtx->msrLSTAR; 
    1916     pVM->rem.s.Env.cstar        = pCtx->msrCSTAR; 
    1917     pVM->rem.s.Env.fmask        = pCtx->msrSFMASK; 
    1918     pVM->rem.s.Env.kernelgsbase = pCtx->msrKERNELGSBASE; 
    1919 #endif 
    1920     /* Note that FS_BASE & GS_BASE are already synced; QEmu keeps them in the hidden selector registers. 
    1921      * So we basically assume the hidden registers are in sync with these MSRs (vt-x & amd-v). Correct?? 
    1922      */ 
    19231924 
    19241925    /* 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy