Changeset 107731 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jan 13, 2025 11:52:57 PM (4 months ago)
- svn:sync-xref-src-repo-rev:
- 166837
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
r107712 r107731 5307 5307 static DBGFREGSUBFIELD const g_aLeaf7Sub0EdxSubFields[] = 5308 5308 { 5309 DBGFREGSUBFIELD_RO("MCU_OPT_CTRL\0" "Supports IA32_MCU_OPT_CTRL ", 9, 1, 0), 5309 5310 DBGFREGSUBFIELD_RO("MD_CLEAR\0" "Supports MDS related buffer clearing", 10, 1, 0), 5311 DBGFREGSUBFIELD_RO("TSX_FORCE_ABORT\0" "Supports IA32_TSX_FORCE_ABORT", 11, 1, 0), 5312 DBGFREGSUBFIELD_RO("CET_IBT\0" "Supports indirect branch tracking w/ CET", 20, 1, 0), 5310 5313 DBGFREGSUBFIELD_RO("IBRS_IBPB\0" "IA32_SPEC_CTRL.IBRS and IA32_PRED_CMD.IBPB", 26, 1, 0), 5311 5314 DBGFREGSUBFIELD_RO("STIBP\0" "Supports IA32_SPEC_CTRL.STIBP", 27, 1, 0), … … 5314 5317 DBGFREGSUBFIELD_RO("CORECAP\0" "Supports IA32_CORE_CAP", 30, 1, 0), 5315 5318 DBGFREGSUBFIELD_RO("SSBD\0" "Supports IA32_SPEC_CTRL.SSBD", 31, 1, 0), 5319 DBGFREGSUBFIELD_TERMINATOR() 5320 }; 5321 5322 5323 /** CPUID(7,2).EBX field descriptions. */ 5324 static DBGFREGSUBFIELD const g_aLeaf7Sub2EbxSubFields[] = 5325 { 5326 DBGFREGSUBFIELD_TERMINATOR() 5327 }; 5328 5329 /** CPUID(7,2).ECX field descriptions. */ 5330 static DBGFREGSUBFIELD const g_aLeaf7Sub2EcxSubFields[] = 5331 { 5332 DBGFREGSUBFIELD_TERMINATOR() 5333 }; 5334 5335 /** CPUID(7,2).EDX field descriptions. */ 5336 static DBGFREGSUBFIELD const g_aLeaf7Sub2EdxSubFields[] = 5337 { 5338 DBGFREGSUBFIELD_RO("PSFD\0" "Supports IA32_SPEC_CTRL[7] (PSFD)", 0, 1, 0), 5339 DBGFREGSUBFIELD_RO("IPRED_CTRL\0" "Supports IA32_SPEC_CTRL[4:3] (IPRED_DIS)", 1, 1, 0), 5340 DBGFREGSUBFIELD_RO("RRSBA_CTRL\0" "Supports IA32_SPEC_CTRL[6:5] (RRSBA_DIS)", 2, 1, 0), 5341 DBGFREGSUBFIELD_RO("DDPD_U\0" "Supports IA32_SPEC_CTRL[8] (DDPD_U)", 3, 1, 0), 5342 DBGFREGSUBFIELD_RO("BHI_CTRL\0" "Supports IA32_SPEC_CTRL[10] (BHI_DIS_S) ", 4, 1, 0), 5343 DBGFREGSUBFIELD_RO("MCDT_NO\0" "No MXCSR Config Dependent Timing issues", 5, 1, 0), 5344 DBGFREGSUBFIELD_RO("UC_LOCK_DIS\0" "Supports UC-lock disable and causing #AC", 6, 1, 0), 5345 DBGFREGSUBFIELD_RO("MONITOR_MITG_NO\0" "No MONITOR/UMONITOR power issues", 7, 1, 0), 5316 5346 DBGFREGSUBFIELD_TERMINATOR() 5317 5347 }; … … 5695 5725 if (fVerbose) 5696 5726 { 5727 pHlp->pfnPrintf(pHlp, " Sub-leaf 0\n"); 5697 5728 pHlp->pfnPrintf(pHlp, " Mnemonic - Description = guest (host)\n"); 5698 5729 cpumR3CpuIdInfoVerboseCompareListU32(pHlp, pCurLeaf->uEbx, Host.uEbx, g_aLeaf7Sub0EbxSubFields, 56); … … 5703 5734 else 5704 5735 { 5705 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEbx, g_aLeaf7Sub0EbxSubFields, "Ext Features EBX:", 36);5706 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEcx, g_aLeaf7Sub0EcxSubFields, "Ext Features ECX:", 36);5736 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEbx, g_aLeaf7Sub0EbxSubFields, "Ext Features #0 EBX:", 36); 5737 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEcx, g_aLeaf7Sub0EcxSubFields, "Ext Features #0 ECX:", 36); 5707 5738 if (pCurLeaf->uEdx) 5708 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEdx, g_aLeaf7Sub0EdxSubFields, "Ext Features EDX:", 36); 5739 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEdx, g_aLeaf7Sub0EdxSubFields, "Ext Features #0 EDX:", 36); 5740 } 5741 break; 5742 5743 /** @todo case 1 */ 5744 5745 case 2: 5746 if (fVerbose) 5747 { 5748 pHlp->pfnPrintf(pHlp, " Sub-leaf 2\n"); 5749 pHlp->pfnPrintf(pHlp, " Mnemonic - Description = guest (host)\n"); 5750 if (pCurLeaf->uEbx || Host.uEbx) 5751 cpumR3CpuIdInfoVerboseCompareListU32(pHlp, pCurLeaf->uEbx, Host.uEbx, g_aLeaf7Sub2EbxSubFields, 56); 5752 if (pCurLeaf->uEcx || Host.uEcx) 5753 cpumR3CpuIdInfoVerboseCompareListU32(pHlp, pCurLeaf->uEcx, Host.uEcx, g_aLeaf7Sub2EcxSubFields, 56); 5754 cpumR3CpuIdInfoVerboseCompareListU32(pHlp, pCurLeaf->uEdx, Host.uEdx, g_aLeaf7Sub2EdxSubFields, 56); 5755 } 5756 else 5757 { 5758 if (pCurLeaf->uEbx) 5759 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEbx, g_aLeaf7Sub2EbxSubFields, "Ext Features #2 EBX:", 36); 5760 if (pCurLeaf->uEcx) 5761 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEcx, g_aLeaf7Sub2EcxSubFields, "Ext Features #2 ECX:", 36); 5762 if (pCurLeaf->uEdx) 5763 cpumR3CpuIdInfoMnemonicListU32(pHlp, pCurLeaf->uEdx, g_aLeaf7Sub2EdxSubFields, "Ext Features #2 EDX:", 36); 5709 5764 } 5710 5765 break;
Note:
See TracChangeset
for help on using the changeset viewer.