Commit c732abe2227954316a5db399aac2040ec0d68f91
1 parent
90251fb9
Unify '-cpu ?' option.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3380 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
8 changed files
with
14 additions
and
28 deletions
linux-user/main.c
... | ... | @@ -1945,14 +1945,9 @@ int main(int argc, char **argv) |
1945 | 1945 | } else if (!strcmp(r, "cpu")) { |
1946 | 1946 | cpu_model = argv[optind++]; |
1947 | 1947 | if (strcmp(cpu_model, "?") == 0) { |
1948 | -#if defined(TARGET_PPC) | |
1949 | - ppc_cpu_list(stdout, &fprintf); | |
1950 | -#elif defined(TARGET_ARM) | |
1951 | - arm_cpu_list(); | |
1952 | -#elif defined(TARGET_MIPS) | |
1953 | - mips_cpu_list(stdout, &fprintf); | |
1954 | -#elif defined(TARGET_SPARC) | |
1955 | - sparc_cpu_list(stdout, &fprintf); | |
1948 | +/* XXX: implement xxx_cpu_list for targets that still miss it */ | |
1949 | +#if defined(cpu_list) | |
1950 | + cpu_list(stdout, &fprintf); | |
1956 | 1951 | #endif |
1957 | 1952 | _exit(1); |
1958 | 1953 | } | ... | ... |
target-arm/cpu.h
... | ... | @@ -260,7 +260,7 @@ static inline int arm_feature(CPUARMState *env, int feature) |
260 | 260 | return (env->features & (1u << feature)) != 0; |
261 | 261 | } |
262 | 262 | |
263 | -void arm_cpu_list(void); | |
263 | +void arm_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); | |
264 | 264 | void cpu_arm_set_model(CPUARMState *env, const char *name); |
265 | 265 | |
266 | 266 | void cpu_arm_set_cp_io(CPUARMState *env, int cpnum, |
... | ... | @@ -299,6 +299,7 @@ void cpu_arm_set_cp_io(CPUARMState *env, int cpnum, |
299 | 299 | #define cpu_exec cpu_arm_exec |
300 | 300 | #define cpu_gen_code cpu_arm_gen_code |
301 | 301 | #define cpu_signal_handler cpu_arm_signal_handler |
302 | +#define cpu_list arm_cpu_list | |
302 | 303 | |
303 | 304 | #include "cpu-all.h" |
304 | 305 | ... | ... |
target-arm/helper.c
... | ... | @@ -126,13 +126,13 @@ static const struct arm_cpu_t arm_cpu_names[] = { |
126 | 126 | { 0, NULL} |
127 | 127 | }; |
128 | 128 | |
129 | -void arm_cpu_list(void) | |
129 | +void arm_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)) | |
130 | 130 | { |
131 | 131 | int i; |
132 | 132 | |
133 | - printf ("Available CPUs:\n"); | |
133 | + (*cpu_fprintf)(f, "Available CPUs:\n"); | |
134 | 134 | for (i = 0; arm_cpu_names[i].name; i++) { |
135 | - printf(" %s\n", arm_cpu_names[i].name); | |
135 | + (*cpu_fprintf)(f, " %s\n", arm_cpu_names[i].name); | |
136 | 136 | } |
137 | 137 | } |
138 | 138 | ... | ... |
target-mips/cpu.h
... | ... | @@ -482,6 +482,7 @@ int cpu_mips_register (CPUMIPSState *env, mips_def_t *def); |
482 | 482 | #define cpu_exec cpu_mips_exec |
483 | 483 | #define cpu_gen_code cpu_mips_gen_code |
484 | 484 | #define cpu_signal_handler cpu_mips_signal_handler |
485 | +#define cpu_list mips_cpu_list | |
485 | 486 | |
486 | 487 | #include "cpu-all.h" |
487 | 488 | ... | ... |
target-ppc/cpu.h
... | ... | @@ -697,6 +697,7 @@ int ppc_dcr_write (ppc_dcr_t *dcr_env, int dcrn, target_ulong val); |
697 | 697 | #define cpu_exec cpu_ppc_exec |
698 | 698 | #define cpu_gen_code cpu_ppc_gen_code |
699 | 699 | #define cpu_signal_handler cpu_ppc_signal_handler |
700 | +#define cpu_list ppc_cpu_list | |
700 | 701 | |
701 | 702 | #include "cpu-all.h" |
702 | 703 | ... | ... |
target-sparc/cpu.h
... | ... | @@ -315,6 +315,7 @@ void cpu_check_irqs(CPUSPARCState *env); |
315 | 315 | #define cpu_exec cpu_sparc_exec |
316 | 316 | #define cpu_gen_code cpu_sparc_gen_code |
317 | 317 | #define cpu_signal_handler cpu_sparc_signal_handler |
318 | +#define cpu_list sparc_cpu_list | |
318 | 319 | |
319 | 320 | #include "cpu-all.h" |
320 | 321 | ... | ... |
vl.c
... | ... | @@ -7690,14 +7690,9 @@ int main(int argc, char **argv) |
7690 | 7690 | case QEMU_OPTION_cpu: |
7691 | 7691 | /* hw initialization will check this */ |
7692 | 7692 | if (*optarg == '?') { |
7693 | -#if defined(TARGET_PPC) | |
7694 | - ppc_cpu_list(stdout, &fprintf); | |
7695 | -#elif defined(TARGET_ARM) | |
7696 | - arm_cpu_list(); | |
7697 | -#elif defined(TARGET_MIPS) | |
7698 | - mips_cpu_list(stdout, &fprintf); | |
7699 | -#elif defined(TARGET_SPARC) | |
7700 | - sparc_cpu_list(stdout, &fprintf); | |
7693 | +/* XXX: implement xxx_cpu_list for targets that still miss it */ | |
7694 | +#if defined(cpu_list) | |
7695 | + cpu_list(stdout, &fprintf); | |
7701 | 7696 | #endif |
7702 | 7697 | exit(0); |
7703 | 7698 | } else { | ... | ... |
vl.h
... | ... | @@ -741,14 +741,6 @@ int qemu_register_machine(QEMUMachine *m); |
741 | 741 | |
742 | 742 | typedef void SetIRQFunc(void *opaque, int irq_num, int level); |
743 | 743 | |
744 | -#if defined(TARGET_PPC) | |
745 | -void ppc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); | |
746 | -#endif | |
747 | - | |
748 | -#if defined(TARGET_MIPS) | |
749 | -void mips_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); | |
750 | -#endif | |
751 | - | |
752 | 744 | #include "hw/irq.h" |
753 | 745 | |
754 | 746 | /* ISA bus */ | ... | ... |