Changeset 94909 in vbox
- Timestamp:
- May 8, 2022 3:41:38 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 151317
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r93922 r94909 1105 1105 /** Supports read/write FSGSBASE instructions. */ 1106 1106 uint32_t fFsGsBase : 1; 1107 /** Support BMI1 instructions (ANDN, BEXTR, BLSI, BLSMSK, BLSR, and TZCNT). */ 1108 uint32_t fBmi1 : 1; 1109 /** Support BMI2 instructions (BZHI, MULX, PDEP, PEXT, RORX, SARX, SHRX, 1110 * and SHLX). */ 1111 uint32_t fBmi2 : 1; 1112 /** Support RDRAND instruction. */ 1113 uint32_t fRdRand : 1; 1114 /** Support RDSEED instruction. */ 1115 uint32_t fRdSeed : 1; 1107 1116 1108 1117 /** Supports AMD 3DNow instructions. */ … … 1125 1134 /** AMD64: Supports XOP (similar to VEX3/AVX). */ 1126 1135 uint32_t fXop : 1; 1136 /** AMD64: Supports ABM, i.e. the LZCNT instruction. */ 1137 uint32_t fAbm : 1; 1138 /** AMD64: Supports TBM (BEXTR, BLCFILL, BLCI, BLCIC, BLCMSK, BLCS, 1139 * BLSFILL, BLSIC, T1MSKC, and TZMSK). */ 1140 uint32_t fTbm : 1; 1127 1141 1128 1142 /** Indicates that FPU instruction and data pointers may leak. … … 1158 1172 uint32_t fArchMdsNo : 1; 1159 1173 1160 /** Alignment padding / reserved for future use. */ 1161 uint32_t fPadding : 7; 1162 1174 /** Alignment padding / reserved for future use (96 bits total, plus 12 bytes 1175 * prior to the bit fields -> total of 24 bytes) */ 1176 uint32_t fPadding0 : 1; 1177 uint32_t fPadding1; 1178 1179 1180 /** @name SVM 1181 * @{ */ 1163 1182 /** SVM: Supports Nested-paging. */ 1164 1183 uint32_t fSvmNestedPaging : 1; … … 1189 1208 /** SVM: Supports GMET (Guest Mode Execute Trap Extension). */ 1190 1209 uint32_t fSvmGmet : 1; 1191 /** SVM: Padding / reserved for future features . */1210 /** SVM: Padding / reserved for future features (64 bits total w/ max ASID). */ 1192 1211 uint32_t fSvmPadding0 : 18; 1193 1212 /** SVM: Maximum supported ASID. */ 1194 1213 uint32_t uSvmMaxAsid; 1214 /** @} */ 1215 1195 1216 1196 1217 /** VMX: Maximum physical address width. */ 1197 uint8_t cVmxMaxPhysAddrWidth; 1198 /** VMX: Padding / reserved for future. */ 1199 uint8_t abVmxPadding[3]; 1200 /** VMX: Padding / reserved for future. */ 1201 uint32_t fVmxPadding0; 1218 uint32_t cVmxMaxPhysAddrWidth : 8; 1202 1219 1203 1220 /** @name VMX basic controls. … … 1378 1395 1379 1396 /** VMX: Padding / reserved for future features. */ 1380 uint32_t fVmxPadding1 : 25; 1397 uint32_t fVmxPadding0 : 17; 1398 /** VMX: Padding / reserved for future, making it a total of 128 bits. */ 1399 uint32_t fVmxPadding1; 1381 1400 } CPUMFEATURES; 1382 1401 #ifndef VBOX_FOR_DTRACE_LIB -
trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
r94901 r94909 1955 1955 pFeatures->fClFlush = RT_BOOL(pStd1Leaf->uEdx & X86_CPUID_FEATURE_EDX_CLFSH); 1956 1956 pFeatures->fPcid = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_PCID); 1957 pFeatures->fRdRand = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_RDRAND); 1957 1958 pFeatures->fVmx = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_VMX); 1958 1959 if (pFeatures->fVmx) … … 1968 1969 pFeatures->fClFlushOpt = RT_BOOL(pSxfLeaf0->uEbx & X86_CPUID_STEXT_FEATURE_EBX_CLFLUSHOPT); 1969 1970 pFeatures->fInvpcid = RT_BOOL(pSxfLeaf0->uEbx & X86_CPUID_STEXT_FEATURE_EBX_INVPCID); 1971 pFeatures->fBmi1 = RT_BOOL(pSxfLeaf0->uEbx & X86_CPUID_STEXT_FEATURE_EBX_BMI1); 1972 pFeatures->fBmi2 = RT_BOOL(pSxfLeaf0->uEbx & X86_CPUID_STEXT_FEATURE_EBX_BMI2); 1973 pFeatures->fRdSeed = RT_BOOL(pSxfLeaf0->uEbx & X86_CPUID_STEXT_FEATURE_EBX_RDSEED); 1970 1974 1971 1975 pFeatures->fIbpb = RT_BOOL(pSxfLeaf0->uEdx & X86_CPUID_STEXT_FEATURE_EDX_IBRS_IBPB); … … 2020 2024 pFeatures->fAmdMmxExts = RT_BOOL(pExtLeaf->uEdx & X86_CPUID_AMD_FEATURE_EDX_AXMMX); 2021 2025 pFeatures->fXop = RT_BOOL(pExtLeaf->uEcx & X86_CPUID_AMD_FEATURE_ECX_XOP); 2026 pFeatures->fAbm = RT_BOOL(pExtLeaf->uEcx & X86_CPUID_AMD_FEATURE_ECX_ABM); 2027 pFeatures->fTbm = RT_BOOL(pExtLeaf->uEcx & X86_CPUID_AMD_FEATURE_ECX_TBM); 2022 2028 pFeatures->fSvm = RT_BOOL(pExtLeaf->uEcx & X86_CPUID_AMD_FEATURE_ECX_SVM); 2023 2029 if (pFeatures->fSvm)
Note:
See TracChangeset
for help on using the changeset viewer.