VirtualBox

Changeset 65446 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 26, 2017 9:37:19 AM (8 years ago)
Author:
vboxsync
Message:

VMX: Better SYSENTER MSR fix for CPUs with no MSR bitmaps (bugref:8745).

File:
1 edited

Legend:

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

    r65439 r65446  
    1213312133    if (!(pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_PROC_EXEC_USE_MSR_BITMAPS))
    1213412134    {
    12135         rc |= hmR0VmxSaveGuestSysenterMsrs(pVCpu, pMixedCtx);
    1213612135        rc |= hmR0VmxSaveGuestLazyMsrs(pVCpu, pMixedCtx);
    1213712136        rc |= hmR0VmxSaveGuestAutoLoadStoreMsrs(pVCpu, pMixedCtx);
     
    1217512174            switch (pMixedCtx->ecx)
    1217612175            {
    12177                 case MSR_IA32_SYSENTER_CS:  HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_CS_MSR);  break;
    12178                 case MSR_IA32_SYSENTER_EIP: HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_EIP_MSR); break;
    12179                 case MSR_IA32_SYSENTER_ESP: HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_ESP_MSR); break;
     12176                case MSR_IA32_SYSENTER_CS:
     12177                    HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_CS_MSR);
     12178                    HMVMXCPU_GST_SET_UPDATED(pVCpu, HMVMX_UPDATED_GUEST_SYSENTER_CS_MSR);
     12179                    break;
     12180                case MSR_IA32_SYSENTER_EIP:
     12181                    HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_EIP_MSR);
     12182                    HMVMXCPU_GST_SET_UPDATED(pVCpu, HMVMX_UPDATED_GUEST_SYSENTER_EIP_MSR);
     12183                    break;
     12184                case MSR_IA32_SYSENTER_ESP:
     12185                    HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SYSENTER_ESP_MSR);
     12186                    HMVMXCPU_GST_SET_UPDATED(pVCpu, HMVMX_UPDATED_GUEST_SYSENTER_ESP_MSR);
     12187                    break;
    1218012188                case MSR_K8_FS_BASE:        /* no break */
    1218112189                case MSR_K8_GS_BASE:        HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_SEGMENT_REGS);     break;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette