Changeset 46379 in vbox
- Timestamp:
- Jun 4, 2013 1:01:04 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 86199
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r46378 r46379 805 805 /** Highest field index. */ 806 806 #define MSR_IA32_VMX_VMCS_ENUM_HIGHEST_INDEX(a) (((a) >> 1) & 0x1FF) 807 808 807 /** @} */ 809 808 … … 1128 1127 /** @} */ 1129 1128 1129 1130 /** @name VMX_VMCS_CTRL_VMFUNC 1131 * @{ 1132 */ 1133 /** EPTP-switching function changes the value of the EPTP to one chosen from the EPTP list. */ 1134 #define VMX_VMCS_CTRL_VMFUNC_EPTP_SWITCHING RT_BIT_64(0) 1135 /** @} */ 1136 1137 1130 1138 /** @name VMCS field encoding - 32 Bits read-only fields 1131 1139 * @{ -
trunk/src/VBox/VMM/VMMR0/HMR0.cpp
r46363 r46379 136 136 uint64_t vmx_cr4_fixed1; 137 137 uint64_t vmx_vmcs_enum; 138 uint64_t vmx_vmfunc; 138 139 uint64_t vmx_ept_vpid_caps; 139 140 } msr; … … 429 430 g_HvmR0.vmx.msr.vmx_ept_vpid_caps = ASMRdMsr(MSR_IA32_VMX_EPT_VPID_CAP); 430 431 } 432 433 if (g_HvmR0.vmx.msr.vmx_proc_ctls2.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC2_VMFUNC) 434 g_HvmR0.vmx.msr.vmx_vmfunc = ASMRdMsr(MSR_IA32_VMX_VMFUNC); 431 435 } 432 436 … … 1253 1257 pVM->hm.s.vmx.msr.vmx_cr4_fixed1 = g_HvmR0.vmx.msr.vmx_cr4_fixed1; 1254 1258 pVM->hm.s.vmx.msr.vmx_vmcs_enum = g_HvmR0.vmx.msr.vmx_vmcs_enum; 1259 pVM->hm.s.vmx.msr.vmx_vmfunc = g_HvmR0.vmx.msr.vmx_vmfunc; 1255 1260 pVM->hm.s.vmx.msr.vmx_ept_vpid_caps = g_HvmR0.vmx.msr.vmx_ept_vpid_caps; 1256 1261 pVM->hm.s.svm.msrHwcr = g_HvmR0.svm.msrHwcr; -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r46378 r46379 284 284 } while (0) 285 285 286 #define HMVMX_REPORT_ALLOWED_FEATURE(allowed1, featflag) \ 287 do { \ 288 if ((allowed1) & (featflag)) \ 289 LogRel(("HM: " #featflag "\n")); \ 290 else \ 291 LogRel(("HM: " #featflag " not supported\n")); \ 292 } while (0) 293 286 294 #define HMVMX_REPORT_CAPABILITY(msrcaps, cap) \ 287 295 do { \ … … 1099 1107 LogRel(("HM: MSR_IA32_VMX_MISC_MSEG_ID = %x\n", MSR_IA32_VMX_MISC_MSEG_ID(pVM->hm.s.vmx.msr.vmx_misc))); 1100 1108 1109 /* Paranoia */ 1110 AssertRelease(MSR_IA32_VMX_MISC_MAX_MSR(pVM->hm.s.vmx.msr.vmx_misc) >= 512); 1111 1101 1112 LogRel(("HM: MSR_IA32_VMX_CR0_FIXED0 = %RX64\n", pVM->hm.s.vmx.msr.vmx_cr0_fixed0)); 1102 1113 LogRel(("HM: MSR_IA32_VMX_CR0_FIXED1 = %RX64\n", pVM->hm.s.vmx.msr.vmx_cr0_fixed1)); … … 1104 1115 LogRel(("HM: MSR_IA32_VMX_CR4_FIXED1 = %RX64\n", pVM->hm.s.vmx.msr.vmx_cr4_fixed1)); 1105 1116 LogRel(("HM: MSR_IA32_VMX_VMCS_ENUM = %RX64\n", pVM->hm.s.vmx.msr.vmx_vmcs_enum)); 1117 LogRel(("HM: MSR_IA32_VMX_VMCS_ENUM_HIGHEST_INDEX = %x\n", MSR_IA32_VMX_VMCS_ENUM_HIGHEST_INDEX(pVM->hm.s.vmx.msr.vmx_vmcs_enum))); 1118 1119 val = pVM->hm.s.vmx.msr.vmx_vmfunc; 1120 if (val) 1121 { 1122 LogRel(("HM: MSR_A32_VMX_VMFUNC = %RX64\n", val)); 1123 HMVMX_REPORT_ALLOWED_FEATURE(val, VMX_VMCS_CTRL_VMFUNC_EPTP_SWITCHING); 1124 } 1106 1125 1107 1126 LogRel(("HM: APIC-access page physaddr = %RHp\n", pVM->hm.s.vmx.HCPhysApicAccess)); 1108 1109 /* Paranoia */1110 AssertRelease(MSR_IA32_VMX_MISC_MAX_MSR(pVM->hm.s.vmx.msr.vmx_misc) >= 512);1111 1127 1112 1128 for (VMCPUID i = 0; i < pVM->cCpus; i++)
Note:
See TracChangeset
for help on using the changeset viewer.