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