VirtualBox

Ignore:
Timestamp:
Apr 2, 2008 12:17:19 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
29222
Message:

Added system MSRs to the CPUMCTX structure.
Sync them in REM as well.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/VBoxRecompiler.c

    r7649 r7695  
    18591859    }
    18601860
     1861    /* Update MSRs. */
     1862    pVM->rem.s.Env.efer         = pCtx->msrEFER;
     1863    pVM->rem.s.Env.star         = pCtx->msrSTAR;
     1864    pVM->rem.s.Env.pat          = pCtx->msrPAT;
     1865#ifdef TARGET_X86_64
     1866    pVM->rem.s.Env.lstar        = pCtx->msrLSTAR;
     1867    pVM->rem.s.Env.cstar        = pCtx->msrCSTAR;
     1868    pVM->rem.s.Env.fmask        = pCtx->msrSFMASK;
     1869    pVM->rem.s.Env.kernelgsbase = pCtx->msrKERNELGSBASE;
     1870#endif
     1871    /* Note that FS_BASE & GS_BASE are already synced; QEmu keeps them in the hidden selector registers.
     1872     * So we basically assume the hidden registers are in sync with these MSRs (vt-x & amd-v). Correct??
     1873     */
     1874
    18611875    /*
    18621876     * Check for traps.
     
    21132127    pCtx->SysEnter.eip     = pVM->rem.s.Env.sysenter_eip;
    21142128    pCtx->SysEnter.esp     = pVM->rem.s.Env.sysenter_esp;
     2129
     2130    /* System MSRs. */
     2131    pCtx->msrEFER          = pVM->rem.s.Env.efer;
     2132    pCtx->msrSTAR          = pVM->rem.s.Env.star;
     2133    pCtx->msrPAT           = pVM->rem.s.Env.pat;
     2134#ifdef TARGET_X86_64
     2135    pCtx->msrLSTAR         = pVM->rem.s.Env.lstar;
     2136    pCtx->msrCSTAR         = pVM->rem.s.Env.cstar;
     2137    pCtx->msrSFMASK        = pVM->rem.s.Env.fmask;
     2138    pCtx->msrFSBASE        = pVM->rem.s.Env.segs[R_FS].base;
     2139    pCtx->msrGSBASE        = pVM->rem.s.Env.segs[R_GS].base;
     2140    pCtx->msrKERNELGSBASE  = pVM->rem.s.Env.kernelgsbase;
     2141#endif
    21152142
    21162143    remR3TrapClear(pVM);
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