Changeset 9817 in vbox for trunk/src/recompiler
- Timestamp:
- Jun 19, 2008 11:47:38 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 32194
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r9802 r9817 1825 1825 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_DS, pCtx->ds, pCtx->dsHid.u64Base, pCtx->dsHid.u32Limit, (pCtx->dsHid.Attr.u << 8) & 0xFFFFFF); 1826 1826 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_ES, pCtx->es, pCtx->esHid.u64Base, pCtx->esHid.u32Limit, (pCtx->esHid.Attr.u << 8) & 0xFFFFFF); 1827 1828 /* FS & GS base addresses need to be loaded from the MSRs if in 64 bits mode. */ 1829 if (CPUMIsGuestIn64BitCodeEx(pCtx)) 1830 { 1831 /* Note that the base values in the hidden fs & gs registers are cut to 32 bits and can't be used in this case. */ 1832 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_FS, pCtx->fs, pCtx->msrFSBASE, pCtx->fsHid.u32Limit, (pCtx->fsHid.Attr.u << 8) & 0xFFFFFF); 1833 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_GS, pCtx->gs, pCtx->msrGSBASE, pCtx->gsHid.u32Limit, (pCtx->gsHid.Attr.u << 8) & 0xFFFFFF); 1834 } 1835 else 1836 { 1837 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_FS, pCtx->fs, pCtx->fsHid.u64Base, pCtx->fsHid.u32Limit, (pCtx->fsHid.Attr.u << 8) & 0xFFFFFF); 1838 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_GS, pCtx->gs, pCtx->gsHid.u64Base, pCtx->gsHid.u32Limit, (pCtx->gsHid.Attr.u << 8) & 0xFFFFFF); 1839 } 1827 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_FS, pCtx->fs, pCtx->fsHid.u64Base, pCtx->fsHid.u32Limit, (pCtx->fsHid.Attr.u << 8) & 0xFFFFFF); 1828 cpu_x86_load_seg_cache(&pVM->rem.s.Env, R_GS, pCtx->gs, pCtx->gsHid.u64Base, pCtx->gsHid.u32Limit, (pCtx->gsHid.Attr.u << 8) & 0xFFFFFF); 1840 1829 } 1841 1830 else … … 2222 2211 pCtx->msrCSTAR = pVM->rem.s.Env.cstar; 2223 2212 pCtx->msrSFMASK = pVM->rem.s.Env.fmask; 2224 pCtx->msrFSBASE = pVM->rem.s.Env.segs[R_FS].base;2225 pCtx->msrGSBASE = pVM->rem.s.Env.segs[R_GS].base;2226 2213 pCtx->msrKERNELGSBASE = pVM->rem.s.Env.kernelgsbase; 2227 2214 #endif … … 2424 2411 pCtx->msrCSTAR = pVM->rem.s.Env.cstar; 2425 2412 pCtx->msrSFMASK = pVM->rem.s.Env.fmask; 2426 pCtx->msrFSBASE = pVM->rem.s.Env.segs[R_FS].base;2427 pCtx->msrGSBASE = pVM->rem.s.Env.segs[R_GS].base;2428 2413 pCtx->msrKERNELGSBASE = pVM->rem.s.Env.kernelgsbase; 2429 2414 #endif
Note:
See TracChangeset
for help on using the changeset viewer.