VirtualBox

Changeset 10886 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jul 25, 2008 11:30:55 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33709
Message:

Fixes for syncing back sysenter MSRs.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r10683 r10886  
    11531153    SVM_READ_SELREG(GS, gs);
    11541154
     1155    /*
     1156     * System MSRs
     1157     */
     1158    pCtx->SysEnter.cs       = pVMCB->guest.u64SysEnterCS;
     1159    pCtx->SysEnter.eip      = pVMCB->guest.u64SysEnterEIP;
     1160    pCtx->SysEnter.esp      = pVMCB->guest.u64SysEnterESP;
     1161
    11551162    /* Note: no reason to sync back the CRx and DRx registers. They can't be changed by the guest. */
    11561163    /* Note: only in the nested paging case can CR3 & CR4 be changed by the guest. */
     
    18751882        pCtx->idtr.cbIdt        = pVMCB->guest.IDTR.u32Limit;
    18761883        pCtx->idtr.pIdt         = pVMCB->guest.IDTR.u64Base;
    1877 
    1878         /*
    1879          * System MSRs
    1880          */
    1881         pCtx->SysEnter.cs       = pVMCB->guest.u64SysEnterCS;
    1882         pCtx->SysEnter.eip      = pVMCB->guest.u64SysEnterEIP;
    1883         pCtx->SysEnter.esp      = pVMCB->guest.u64SysEnterESP;
    18841884    }
    18851885
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r10835 r10886  
    14761476    VMX_READ_SELREG(FS, fs);
    14771477    VMX_READ_SELREG(GS, gs);
     1478
     1479    /*
     1480     * System MSRs
     1481     */
     1482    VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_CS,      &val);
     1483    pCtx->SysEnter.cs       = val;
     1484    VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_EIP,     &val);
     1485    pCtx->SysEnter.eip      = val;
     1486    VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_ESP,     &val);
     1487    pCtx->SysEnter.esp      = val;
    14781488
    14791489    /** @note NOW IT'S SAFE FOR LOGGING! */
     
    21692179        VMXReadVMCS(VMX_VMCS_GUEST_IDTR_BASE,        &val);
    21702180        pCtx->idtr.pIdt         = val;
    2171 
    2172         /*
    2173          * System MSRs
    2174          */
    2175         VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_CS,      &val);
    2176         pCtx->SysEnter.cs       = val;
    2177         VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_EIP,     &val);
    2178         pCtx->SysEnter.eip      = val;
    2179         VMXReadVMCS(VMX_VMCS_GUEST_SYSENTER_ESP,     &val);
    2180         pCtx->SysEnter.esp      = val;
    21812181    }
    21822182
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