Changeset 21327 in vbox
- Timestamp:
- Jul 7, 2009 12:48:59 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/x86.h
r21320 r21327 355 355 /** ECX Bit 0 - SSE3 - Supports SSE3 or not. */ 356 356 #define X86_CPUID_FEATURE_ECX_SSE3 RT_BIT(0) 357 /** ECX Bit 2 - DTES64 - DS Area 64-bit Layout. */ 358 #define X86_CPUID_FEATURE_ECX_DTES64 RT_BIT(2) 357 359 /** ECX Bit 3 - MONITOR - Supports MONITOR/MWAIT. */ 358 360 #define X86_CPUID_FEATURE_ECX_MONITOR RT_BIT(3) … … 361 363 /** ECX Bit 5 - VMX - Virtual Machine Technology. */ 362 364 #define X86_CPUID_FEATURE_ECX_VMX RT_BIT(5) 365 /** ECX Bit 6 - SMX - Safer Mode Extensions. */ 366 #define X86_CPUID_FEATURE_ECX_SMX RT_BIT(6) 363 367 /** ECX Bit 7 - EST - Enh. SpeedStep Tech. */ 364 368 #define X86_CPUID_FEATURE_ECX_EST RT_BIT(7) … … 373 377 /** ECX Bit 14 - xTPR Update Control. Processor supports changing IA32_MISC_ENABLES[bit 23]. */ 374 378 #define X86_CPUID_FEATURE_ECX_TPRUPDATE RT_BIT(14) 379 /** ECX Bit 15 - PDCM - Perf/Debug Capability MSR. */ 380 #define X86_CPUID_FEATURE_ECX_PDCM RT_BIT(15) 381 /** ECX Bit 18 - DCA - Direct Cache Access. */ 382 #define X86_CPUID_FEATURE_ECX_DCA RT_BIT(18) 383 /** ECX Bit 19 - SSE4_1 - Supports SSE4_1 or not. */ 384 #define X86_CPUID_FEATURE_ECX_SSE4_1 RT_BIT(19) 385 /** ECX Bit 20 - SSE4_2 - Supports SSE4_2 or not. */ 386 #define X86_CPUID_FEATURE_ECX_SSE4_2 RT_BIT(20) 375 387 /** ECX Bit 21 - x2APIC support. */ 376 388 #define X86_CPUID_FEATURE_ECX_X2APIC RT_BIT(21) 389 /** ECX Bit 22 - MOVBE instruction. */ 390 #define X86_CPUID_FEATURE_ECX_MOVBE RT_BIT(22) 377 391 /** ECX Bit 23 - POPCOUNT instruction. */ 378 392 #define X86_CPUID_FEATURE_ECX_POPCOUNT RT_BIT(23) 393 /** ECX Bit 26 - XSAVE instruction. */ 394 #define X86_CPUID_FEATURE_ECX_XSAVE RT_BIT(26) 395 /** ECX Bit 27 - OSXSAVE instruction. */ 396 #define X86_CPUID_FEATURE_ECX_OSXSAVE RT_BIT(27) 379 397 380 398 -
trunk/src/VBox/VMM/CPUM.cpp
r21320 r21327 1105 1105 au32CpuIdSaved[5] &= ~0x00ff0000; 1106 1106 1107 /* Ignore some advanced capability bits, that we don't expose to the guest. */ 1108 au32CpuId[6] &= ~( X86_CPUID_FEATURE_ECX_DTES64 1109 | X86_CPUID_FEATURE_ECX_VMX 1110 | X86_CPUID_FEATURE_ECX_SMX 1111 | X86_CPUID_FEATURE_ECX_EST 1112 | X86_CPUID_FEATURE_ECX_TM2 1113 | X86_CPUID_FEATURE_ECX_CNTXID 1114 | X86_CPUID_FEATURE_ECX_TPRUPDATE 1115 | X86_CPUID_FEATURE_ECX_PDCM 1116 | X86_CPUID_FEATURE_ECX_DCA 1117 | X86_CPUID_FEATURE_ECX_X2APIC 1118 | X86_CPUID_FEATURE_ECX_POPCOUNT 1119 | X86_CPUID_FEATURE_ECX_MOVBE 1120 | X86_CPUID_FEATURE_ECX_XSAVE 1121 | X86_CPUID_FEATURE_ECX_OSXSAVE 1122 ); 1123 au32CpuIdSaved[6] &= ~( X86_CPUID_FEATURE_ECX_DTES64 1124 | X86_CPUID_FEATURE_ECX_VMX 1125 | X86_CPUID_FEATURE_ECX_SMX 1126 | X86_CPUID_FEATURE_ECX_EST 1127 | X86_CPUID_FEATURE_ECX_TM2 1128 | X86_CPUID_FEATURE_ECX_CNTXID 1129 | X86_CPUID_FEATURE_ECX_TPRUPDATE 1130 | X86_CPUID_FEATURE_ECX_PDCM 1131 | X86_CPUID_FEATURE_ECX_DCA 1132 | X86_CPUID_FEATURE_ECX_X2APIC 1133 | X86_CPUID_FEATURE_ECX_POPCOUNT 1134 | X86_CPUID_FEATURE_ECX_MOVBE 1135 | X86_CPUID_FEATURE_ECX_XSAVE 1136 | X86_CPUID_FEATURE_ECX_OSXSAVE 1137 ); 1138 1139 /* Make sure we don't forget to update the masks when enabling 1140 * features in the future. 1141 */ 1142 AssertRelease(!(pVM->cpum.s.aGuestCpuIdStd[1].ecx & 1143 ( X86_CPUID_FEATURE_ECX_DTES64 1144 | X86_CPUID_FEATURE_ECX_VMX 1145 | X86_CPUID_FEATURE_ECX_SMX 1146 | X86_CPUID_FEATURE_ECX_EST 1147 | X86_CPUID_FEATURE_ECX_TM2 1148 | X86_CPUID_FEATURE_ECX_CNTXID 1149 | X86_CPUID_FEATURE_ECX_TPRUPDATE 1150 | X86_CPUID_FEATURE_ECX_PDCM 1151 | X86_CPUID_FEATURE_ECX_DCA 1152 | X86_CPUID_FEATURE_ECX_X2APIC 1153 | X86_CPUID_FEATURE_ECX_POPCOUNT 1154 | X86_CPUID_FEATURE_ECX_MOVBE 1155 | X86_CPUID_FEATURE_ECX_XSAVE 1156 | X86_CPUID_FEATURE_ECX_OSXSAVE 1157 ))); 1107 1158 /* do the compare */ 1108 1159 if (memcmp(au32CpuIdSaved, au32CpuId, sizeof(au32CpuIdSaved)))
Note:
See TracChangeset
for help on using the changeset viewer.