| | 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 | |
|---|
| 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 | | */ |
|---|