Changeset 48211 in vbox for trunk/src/VBox
- Timestamp:
- Aug 30, 2013 10:37:47 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMR0.cpp
r48210 r48211 125 125 uint64_t u64FeatureCtrl; 126 126 uint64_t u64BasicInfo; 127 VMX_CAPABILITY vmxPinCtls;128 VMX_CAPABILITY vmxProcCtls;129 VMX_CAPABILITY vmxProcCtls2;130 VMX_CAPABILITY vmxExit;131 VMX_CAPABILITY vmxEntry;127 VMX_CAPABILITY VmxPinCtls; 128 VMX_CAPABILITY VmxProcCtls; 129 VMX_CAPABILITY VmxProcCtls2; 130 VMX_CAPABILITY VmxExit; 131 VMX_CAPABILITY VmxEntry; 132 132 uint64_t u64Misc; 133 133 uint64_t u64Cr0Fixed0; … … 412 412 */ 413 413 g_HvmR0.vmx.msr.u64BasicInfo = ASMRdMsr(MSR_IA32_VMX_BASIC_INFO); 414 g_HvmR0.vmx.msr. vmxPinCtls.u = ASMRdMsr(MSR_IA32_VMX_PINBASED_CTLS);415 g_HvmR0.vmx.msr. vmxProcCtls.u = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS);416 g_HvmR0.vmx.msr. vmxExit.u = ASMRdMsr(MSR_IA32_VMX_EXIT_CTLS);417 g_HvmR0.vmx.msr. vmxEntry.u = ASMRdMsr(MSR_IA32_VMX_ENTRY_CTLS);414 g_HvmR0.vmx.msr.VmxPinCtls.u = ASMRdMsr(MSR_IA32_VMX_PINBASED_CTLS); 415 g_HvmR0.vmx.msr.VmxProcCtls.u = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS); 416 g_HvmR0.vmx.msr.VmxExit.u = ASMRdMsr(MSR_IA32_VMX_EXIT_CTLS); 417 g_HvmR0.vmx.msr.VmxEntry.u = ASMRdMsr(MSR_IA32_VMX_ENTRY_CTLS); 418 418 g_HvmR0.vmx.msr.u64Misc = ASMRdMsr(MSR_IA32_VMX_MISC); 419 419 g_HvmR0.vmx.msr.u64Cr0Fixed0 = ASMRdMsr(MSR_IA32_VMX_CR0_FIXED0); … … 427 427 g_HvmR0.uMaxAsid = 0x10000; /* exclusive */ 428 428 429 if (g_HvmR0.vmx.msr. vmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_SECONDARY_EXEC_CTRL)429 if (g_HvmR0.vmx.msr.VmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_SECONDARY_EXEC_CTRL) 430 430 { 431 g_HvmR0.vmx.msr. vmxProcCtls2.u = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS2);432 if (g_HvmR0.vmx.msr. vmxProcCtls2.n.allowed1 & (VMX_VMCS_CTRL_PROC_EXEC2_EPT | VMX_VMCS_CTRL_PROC_EXEC2_VPID))431 g_HvmR0.vmx.msr.VmxProcCtls2.u = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS2); 432 if (g_HvmR0.vmx.msr.VmxProcCtls2.n.allowed1 & (VMX_VMCS_CTRL_PROC_EXEC2_EPT | VMX_VMCS_CTRL_PROC_EXEC2_VPID)) 433 433 g_HvmR0.vmx.msr.u64EptVpidCaps = ASMRdMsr(MSR_IA32_VMX_EPT_VPID_CAP); 434 434 435 if (g_HvmR0.vmx.msr. vmxProcCtls2.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC2_VMFUNC)435 if (g_HvmR0.vmx.msr.VmxProcCtls2.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC2_VMFUNC) 436 436 g_HvmR0.vmx.msr.u64Vmfunc = ASMRdMsr(MSR_IA32_VMX_VMFUNC); 437 437 } … … 534 534 535 535 /* 536 * Check for the VMX-Preemption Timer and adjust for the *"VMX-Preemption536 * Check for the VMX-Preemption Timer and adjust for the "VMX-Preemption 537 537 * Timer Does Not Count Down at the Rate Specified" erratum. 538 538 */ 539 if (g_HvmR0.vmx.msr. vmxPinCtls.n.allowed1 & VMX_VMCS_CTRL_PIN_EXEC_PREEMPT_TIMER)539 if (g_HvmR0.vmx.msr.VmxPinCtls.n.allowed1 & VMX_VMCS_CTRL_PIN_EXEC_PREEMPT_TIMER) 540 540 { 541 541 g_HvmR0.vmx.fUsePreemptTimer = true; … … 1253 1253 pVM->hm.s.vmx.u64HostEfer = g_HvmR0.vmx.u64HostEfer; 1254 1254 pVM->hm.s.vmx.msr.vmx_basic_info = g_HvmR0.vmx.msr.u64BasicInfo; 1255 pVM->hm.s.vmx.msr.vmx_pin_ctls = g_HvmR0.vmx.msr. vmxPinCtls;1256 pVM->hm.s.vmx.msr.vmx_proc_ctls = g_HvmR0.vmx.msr. vmxProcCtls;1257 pVM->hm.s.vmx.msr.vmx_proc_ctls2 = g_HvmR0.vmx.msr. vmxProcCtls2;1258 pVM->hm.s.vmx.msr.vmx_exit = g_HvmR0.vmx.msr. vmxExit;1259 pVM->hm.s.vmx.msr.vmx_entry = g_HvmR0.vmx.msr. vmxEntry;1255 pVM->hm.s.vmx.msr.vmx_pin_ctls = g_HvmR0.vmx.msr.VmxPinCtls; 1256 pVM->hm.s.vmx.msr.vmx_proc_ctls = g_HvmR0.vmx.msr.VmxProcCtls; 1257 pVM->hm.s.vmx.msr.vmx_proc_ctls2 = g_HvmR0.vmx.msr.VmxProcCtls2; 1258 pVM->hm.s.vmx.msr.vmx_exit = g_HvmR0.vmx.msr.VmxExit; 1259 pVM->hm.s.vmx.msr.vmx_entry = g_HvmR0.vmx.msr.VmxEntry; 1260 1260 pVM->hm.s.vmx.msr.vmx_misc = g_HvmR0.vmx.msr.u64Misc; 1261 1261 pVM->hm.s.vmx.msr.vmx_cr0_fixed0 = g_HvmR0.vmx.msr.u64Cr0Fixed0;
Note:
See TracChangeset
for help on using the changeset viewer.