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;