Message ID | 20220314140108.26222-1-philippe.mathieu.daude@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [PATCH-for-7.0,v3] softmmu: List CPU types again | expand |
Hi Paolo, Could you take this patch? On 14/3/22 15:01, Philippe Mathieu-Daudé wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > Commit e0220bb5b2 made cpus.c target-agnostic but didn't notice > the cpu_list() function is only defined in target-specific code > in "cpu.h". Move list_cpus() declaration to "exec/cpu-common.h" > because this function is not softmmu-specific and can also be > used by user-mode, along with moving its implementation to cpu.c, > which is compiled per target. > > Fixes: e0220bb5b2 ("softmmu: Build target-agnostic objects once") > Reported-by: Max Filippov <jcmvbkbc@gmail.com> > Suggested-by: Paolo Bonzini <pbonzini@redhat.com> > Reviewed-by: Thomas Huth <thuth@redhat.com> > Tested-by: Max Filippov <jcmvbkbc@gmail.com> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > Since v2: > - include exec/cpu-all.h -> exec/cpu-common.h (thuth) > --- > cpu.c | 9 +++++++++ > include/exec/cpu-common.h | 2 ++ > include/sysemu/cpus.h | 2 -- > softmmu/cpus.c | 8 -------- > 4 files changed, 11 insertions(+), 10 deletions(-) > > diff --git a/cpu.c b/cpu.c > index d564886149..be1f8b074c 100644 > --- a/cpu.c > +++ b/cpu.c > @@ -35,6 +35,7 @@ > #include "sysemu/tcg.h" > #include "sysemu/kvm.h" > #include "sysemu/replay.h" > +#include "exec/cpu-common.h" > #include "exec/exec-all.h" > #include "exec/translate-all.h" > #include "exec/log.h" > @@ -266,6 +267,14 @@ const char *parse_cpu_option(const char *cpu_option) > return cpu_type; > } > > +void list_cpus(const char *optarg) > +{ > + /* XXX: implement xxx_cpu_list for targets that still miss it */ > +#if defined(cpu_list) > + cpu_list(); > +#endif > +} > + > #if defined(CONFIG_USER_ONLY) > void tb_invalidate_phys_addr(target_ulong addr) > { > diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h > index 7f7b5943c7..50a7d2912e 100644 > --- a/include/exec/cpu-common.h > +++ b/include/exec/cpu-common.h > @@ -158,4 +158,6 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr, > /* vl.c */ > extern int singlestep; > > +void list_cpus(const char *optarg); > + > #endif /* CPU_COMMON_H */ > diff --git a/include/sysemu/cpus.h b/include/sysemu/cpus.h > index 868f1192de..b5c87d48b3 100644 > --- a/include/sysemu/cpus.h > +++ b/include/sysemu/cpus.h > @@ -55,6 +55,4 @@ extern int smp_cores; > extern int smp_threads; > #endif > > -void list_cpus(const char *optarg); > - > #endif > diff --git a/softmmu/cpus.c b/softmmu/cpus.c > index e1d84c8ccb..7b75bb66d5 100644 > --- a/softmmu/cpus.c > +++ b/softmmu/cpus.c > @@ -728,14 +728,6 @@ int vm_stop_force_state(RunState state) > } > } > > -void list_cpus(const char *optarg) > -{ > - /* XXX: implement xxx_cpu_list for targets that still miss it */ > -#if defined(cpu_list) > - cpu_list(); > -#endif > -} > - > void qmp_memsave(int64_t addr, int64_t size, const char *filename, > bool has_cpu, int64_t cpu_index, Error **errp) > {
On 15/03/2022 12.11, Philippe Mathieu-Daudé wrote: > Hi Paolo, > > Could you take this patch? I'm planning a PR for today ... I can add it there ("-cpu help" also does not work on s390x, so I dare to say that it is related) if Paolo does not plan a PR for rc0. Thomas
On 15/3/22 12:13, Thomas Huth wrote: > On 15/03/2022 12.11, Philippe Mathieu-Daudé wrote: >> Hi Paolo, >> >> Could you take this patch? > > I'm planning a PR for today ... I can add it there ("-cpu help" also > does not work on s390x, so I dare to say that it is related) if Paolo > does not plan a PR for rc0. I was hesitating between asking Paolo or you :) I just missed Paolo's pullreq, so if you can take it that would be great. Thanks, Phil.
diff --git a/cpu.c b/cpu.c index d564886149..be1f8b074c 100644 --- a/cpu.c +++ b/cpu.c @@ -35,6 +35,7 @@ #include "sysemu/tcg.h" #include "sysemu/kvm.h" #include "sysemu/replay.h" +#include "exec/cpu-common.h" #include "exec/exec-all.h" #include "exec/translate-all.h" #include "exec/log.h" @@ -266,6 +267,14 @@ const char *parse_cpu_option(const char *cpu_option) return cpu_type; } +void list_cpus(const char *optarg) +{ + /* XXX: implement xxx_cpu_list for targets that still miss it */ +#if defined(cpu_list) + cpu_list(); +#endif +} + #if defined(CONFIG_USER_ONLY) void tb_invalidate_phys_addr(target_ulong addr) { diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 7f7b5943c7..50a7d2912e 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -158,4 +158,6 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr, /* vl.c */ extern int singlestep; +void list_cpus(const char *optarg); + #endif /* CPU_COMMON_H */ diff --git a/include/sysemu/cpus.h b/include/sysemu/cpus.h index 868f1192de..b5c87d48b3 100644 --- a/include/sysemu/cpus.h +++ b/include/sysemu/cpus.h @@ -55,6 +55,4 @@ extern int smp_cores; extern int smp_threads; #endif -void list_cpus(const char *optarg); - #endif diff --git a/softmmu/cpus.c b/softmmu/cpus.c index e1d84c8ccb..7b75bb66d5 100644 --- a/softmmu/cpus.c +++ b/softmmu/cpus.c @@ -728,14 +728,6 @@ int vm_stop_force_state(RunState state) } } -void list_cpus(const char *optarg) -{ - /* XXX: implement xxx_cpu_list for targets that still miss it */ -#if defined(cpu_list) - cpu_list(); -#endif -} - void qmp_memsave(int64_t addr, int64_t size, const char *filename, bool has_cpu, int64_t cpu_index, Error **errp) {