summary refs log tree commit diff stats
path: root/target/i386/cpu.c
diff options
context:
space:
mode:
authorZhao Liu <zhao1.liu@intel.com>2024-03-27 18:39:50 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2024-04-23 17:35:26 +0200
commit8e3991ebc865e659e32195286caf0ca14ffcf806 (patch)
tree2c2feffeaeeddc48865bcb60efb3fbb00bb5f1f9 /target/i386/cpu.c
parent7502ffb2f3240247e9426fd73b8422e5be54501a (diff)
downloadfocaccia-qemu-8e3991ebc865e659e32195286caf0ca14ffcf806.tar.gz
focaccia-qemu-8e3991ebc865e659e32195286caf0ca14ffcf806.zip
target/i386/cpu: Consolidate the use of warn_report_once()
The difference between error_printf() and error_report() is the latter
may contain more information, such as the name of the program
("qemu-system-x86_64").

Thus its variant error_report_once() and warn_report()'s variant
warn_report_once() can be used here to print the information only once
without a static local variable "ht_warned".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-ID: <20240327103951.3853425-3-zhao1.liu@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target/i386/cpu.c')
-rw-r--r--target/i386/cpu.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index eda15b0d4c..2845298378 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -7367,7 +7367,6 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
     X86CPUClass *xcc = X86_CPU_GET_CLASS(dev);
     CPUX86State *env = &cpu->env;
     Error *local_err = NULL;
-    static bool ht_warned;
     unsigned requested_lbr_fmt;
 
 #if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY)
@@ -7610,13 +7609,11 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
      */
     if (IS_AMD_CPU(env) &&
         !(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT) &&
-        cs->nr_threads > 1 && !ht_warned) {
-            warn_report("This family of AMD CPU doesn't support "
-                        "hyperthreading(%d)",
-                        cs->nr_threads);
-            error_printf("Please configure -smp options properly"
-                         " or try enabling topoext feature.\n");
-            ht_warned = true;
+        cs->nr_threads > 1) {
+            warn_report_once("This family of AMD CPU doesn't support "
+                             "hyperthreading(%d).", cs->nr_threads);
+            error_report_once("Please configure -smp options properly"
+                              " or try enabling topoext feature.");
     }
 
 #ifndef CONFIG_USER_ONLY