From: Xiaoyao Li <xiaoyao...@intel.com>

Some CPUID leaves have meaningful subleaf index. Print the subleaf info
in feature_word_description for CPUID features.

Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
Reviewed-by: Eduardo Habkost <ehabk...@redhat.com>
Reviewed-by: Zhao Liu <zhao1....@intel.com>
Link: https://lore.kernel.org/r/20241217123932.948789-3-xiaoyao...@intel.com
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 target/i386/cpu.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 6258027ab15..be3812973f6 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5780,11 +5780,15 @@ static char *feature_word_description(FeatureWordInfo 
*f)
         {
             const char *reg = get_register_name_32(f->cpuid.reg);
             assert(reg);
-            return g_strdup_printf("CPUID.%02XH:%s",
-                                   f->cpuid.eax, reg);
+            if (!f->cpuid.needs_ecx) {
+                return g_strdup_printf("CPUID[eax=%02Xh].%s", f->cpuid.eax, 
reg);
+            } else {
+                return g_strdup_printf("CPUID[eax=%02Xh,ecx=%02Xh].%s",
+                                       f->cpuid.eax, f->cpuid.ecx, reg);
+            }
         }
     case MSR_FEATURE_WORD:
-        return g_strdup_printf("MSR(%02XH)",
+        return g_strdup_printf("MSR(%02Xh)",
                                f->msr.index);
     }
 
-- 
2.49.0


Reply via email to