From 262353cb1fd8a78f6f0c9d1ddd2fdce32d3fdf95 Mon Sep 17 00:00:00 2001
From: Blue Swirl <blauwirbel@gmail.com>
Date: Tue, 4 May 2010 19:55:35 +0000
Subject: [PATCH] Fix cpu list("-cpu ?") breakage, spotted by TeLeMan

Fix breakage by 04c9a0cbc2bf496889cef6da2d61bf00ef190a4f.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 cpus.c | 11 +++++++++++
 cpus.h |  2 ++
 vl.c   |  7 +------
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/cpus.c b/cpus.c
index 2bf87d2d5e..29462e5c92 100644
--- a/cpus.c
+++ b/cpus.c
@@ -801,3 +801,14 @@ int64_t cpu_get_icount(void)
     }
     return qemu_icount_bias + (icount << icount_time_shift);
 }
+
+void list_cpus(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...),
+               const char *optarg)
+{
+    /* XXX: implement xxx_cpu_list for targets that still miss it */
+#if defined(cpu_list_id)
+    cpu_list_id(f, cpu_fprintf, optarg);
+#elif defined(cpu_list)
+    cpu_list(f, cpu_fprintf); /* deprecated */
+#endif
+}
diff --git a/cpus.h b/cpus.h
index 4ebad3a36f..774150a763 100644
--- a/cpus.h
+++ b/cpus.h
@@ -16,5 +16,7 @@ void vm_state_notify(int running, int reason);
 bool tcg_cpu_exec(void);
 void set_numa_modes(void);
 void set_cpu_log(const char *optarg);
+void list_cpus(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...),
+               const char *optarg);
 
 #endif
diff --git a/vl.c b/vl.c
index 999aac8cc5..85bcc84df2 100644
--- a/vl.c
+++ b/vl.c
@@ -2726,12 +2726,7 @@ int main(int argc, char **argv, char **envp)
             case QEMU_OPTION_cpu:
                 /* hw initialization will check this */
                 if (*optarg == '?') {
-/* XXX: implement xxx_cpu_list for targets that still miss it */
-#if defined(cpu_list_id)
-                    cpu_list_id(stdout, &fprintf, optarg);
-#elif defined(cpu_list)
-                    cpu_list(stdout, &fprintf);	        /* deprecated */
-#endif
+                    list_cpus(stdout, &fprintf, optarg);
                     exit(0);
                 } else {
                     cpu_model = optarg;