From c732abe2227954316a5db399aac2040ec0d68f91 Mon Sep 17 00:00:00 2001 From: j_mayer Date: Fri, 12 Oct 2007 06:47:46 +0000 Subject: Unify '-cpu ?' option. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3380 c046a42c-6fe2-441c-8c8c-71466251a162 --- linux-user/main.c | 11 +++-------- target-arm/cpu.h | 3 ++- target-arm/helper.c | 6 +++--- target-mips/cpu.h | 1 + target-ppc/cpu.h | 1 + target-sparc/cpu.h | 1 + vl.c | 11 +++-------- vl.h | 8 -------- 8 files changed, 14 insertions(+), 28 deletions(-) diff --git a/linux-user/main.c b/linux-user/main.c index 7de7ff5a71..1e406d3d43 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1945,14 +1945,9 @@ int main(int argc, char **argv) } else if (!strcmp(r, "cpu")) { cpu_model = argv[optind++]; if (strcmp(cpu_model, "?") == 0) { -#if defined(TARGET_PPC) - ppc_cpu_list(stdout, &fprintf); -#elif defined(TARGET_ARM) - arm_cpu_list(); -#elif defined(TARGET_MIPS) - mips_cpu_list(stdout, &fprintf); -#elif defined(TARGET_SPARC) - sparc_cpu_list(stdout, &fprintf); +/* XXX: implement xxx_cpu_list for targets that still miss it */ +#if defined(cpu_list) + cpu_list(stdout, &fprintf); #endif _exit(1); } diff --git a/target-arm/cpu.h b/target-arm/cpu.h index 76fdbb26bf..7510a2480a 100644 --- a/target-arm/cpu.h +++ b/target-arm/cpu.h @@ -260,7 +260,7 @@ static inline int arm_feature(CPUARMState *env, int feature) return (env->features & (1u << feature)) != 0; } -void arm_cpu_list(void); +void arm_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); void cpu_arm_set_model(CPUARMState *env, const char *name); void cpu_arm_set_cp_io(CPUARMState *env, int cpnum, @@ -299,6 +299,7 @@ void cpu_arm_set_cp_io(CPUARMState *env, int cpnum, #define cpu_exec cpu_arm_exec #define cpu_gen_code cpu_arm_gen_code #define cpu_signal_handler cpu_arm_signal_handler +#define cpu_list arm_cpu_list #include "cpu-all.h" diff --git a/target-arm/helper.c b/target-arm/helper.c index 01573a2380..4501feaef1 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -126,13 +126,13 @@ static const struct arm_cpu_t arm_cpu_names[] = { { 0, NULL} }; -void arm_cpu_list(void) +void arm_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)) { int i; - printf ("Available CPUs:\n"); + (*cpu_fprintf)(f, "Available CPUs:\n"); for (i = 0; arm_cpu_names[i].name; i++) { - printf(" %s\n", arm_cpu_names[i].name); + (*cpu_fprintf)(f, " %s\n", arm_cpu_names[i].name); } } diff --git a/target-mips/cpu.h b/target-mips/cpu.h index 569f9325bf..137260f329 100644 --- a/target-mips/cpu.h +++ b/target-mips/cpu.h @@ -482,6 +482,7 @@ int cpu_mips_register (CPUMIPSState *env, mips_def_t *def); #define cpu_exec cpu_mips_exec #define cpu_gen_code cpu_mips_gen_code #define cpu_signal_handler cpu_mips_signal_handler +#define cpu_list mips_cpu_list #include "cpu-all.h" diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index f4d9004f26..b424abcebb 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -697,6 +697,7 @@ int ppc_dcr_write (ppc_dcr_t *dcr_env, int dcrn, target_ulong val); #define cpu_exec cpu_ppc_exec #define cpu_gen_code cpu_ppc_gen_code #define cpu_signal_handler cpu_ppc_signal_handler +#define cpu_list ppc_cpu_list #include "cpu-all.h" diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 5c8c49ab63..fac18a7775 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -315,6 +315,7 @@ void cpu_check_irqs(CPUSPARCState *env); #define cpu_exec cpu_sparc_exec #define cpu_gen_code cpu_sparc_gen_code #define cpu_signal_handler cpu_sparc_signal_handler +#define cpu_list sparc_cpu_list #include "cpu-all.h" diff --git a/vl.c b/vl.c index 01bb06edad..65c3e6a47e 100644 --- a/vl.c +++ b/vl.c @@ -7690,14 +7690,9 @@ int main(int argc, char **argv) case QEMU_OPTION_cpu: /* hw initialization will check this */ if (*optarg == '?') { -#if defined(TARGET_PPC) - ppc_cpu_list(stdout, &fprintf); -#elif defined(TARGET_ARM) - arm_cpu_list(); -#elif defined(TARGET_MIPS) - mips_cpu_list(stdout, &fprintf); -#elif defined(TARGET_SPARC) - sparc_cpu_list(stdout, &fprintf); +/* XXX: implement xxx_cpu_list for targets that still miss it */ +#if defined(cpu_list) + cpu_list(stdout, &fprintf); #endif exit(0); } else { diff --git a/vl.h b/vl.h index aa7590063e..afa2cd6bb1 100644 --- a/vl.h +++ b/vl.h @@ -741,14 +741,6 @@ int qemu_register_machine(QEMUMachine *m); typedef void SetIRQFunc(void *opaque, int irq_num, int level); -#if defined(TARGET_PPC) -void ppc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); -#endif - -#if defined(TARGET_MIPS) -void mips_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); -#endif - #include "hw/irq.h" /* ISA bus */ -- cgit v1.2.3