diff options
author | Xiaoyao Li <xiaoyao.li@intel.com> | 2024-12-17 07:39:32 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-05-28 19:35:55 +0200 |
commit | adf25ad70f2f989e63c2cd3e9de4e38152d05e84 (patch) | |
tree | 4e6b9565daaca64ded09efd076c9308e58c51b89 | |
parent | 4a2fb19669bb41eee5b2fb8e5b5ba30e1daaeaf5 (diff) | |
download | qemu-adf25ad70f2f989e63c2cd3e9de4e38152d05e84.zip qemu-adf25ad70f2f989e63c2cd3e9de4e38152d05e84.tar.gz qemu-adf25ad70f2f989e63c2cd3e9de4e38152d05e84.tar.bz2 |
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.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6258027..be38129 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); } |