summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorXiaoyao Li <xiaoyao.li@intel.com>2024-12-17 07:39:32 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2025-05-28 19:35:55 +0200
commitadf25ad70f2f989e63c2cd3e9de4e38152d05e84 (patch)
tree4e6b9565daaca64ded09efd076c9308e58c51b89
parent4a2fb19669bb41eee5b2fb8e5b5ba30e1daaeaf5 (diff)
downloadfocaccia-qemu-adf25ad70f2f989e63c2cd3e9de4e38152d05e84.tar.gz
focaccia-qemu-adf25ad70f2f989e63c2cd3e9de4e38152d05e84.zip
target/i386: Print CPUID subleaf info for unsupported feature
Some CPUID leaves have meaningful subleaf index. Print the subleaf info
in feature_word_description for CPUID features.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20241217123932.948789-3-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--target/i386/cpu.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 6258027ab1..be3812973f 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);
     }