softmmu: List CPU types again
Commite0220bb5b2
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> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220314140108.26222-1-philippe.mathieu.daude@gmail.com> Tested-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
46697cb96e
commit
377bf6f37d
9
cpu.c
9
cpu.c
@ -35,6 +35,7 @@
|
|||||||
#include "sysemu/tcg.h"
|
#include "sysemu/tcg.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
|
#include "exec/cpu-common.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/translate-all.h"
|
#include "exec/translate-all.h"
|
||||||
#include "exec/log.h"
|
#include "exec/log.h"
|
||||||
@ -266,6 +267,14 @@ const char *parse_cpu_option(const char *cpu_option)
|
|||||||
return cpu_type;
|
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)
|
#if defined(CONFIG_USER_ONLY)
|
||||||
void tb_invalidate_phys_addr(target_ulong addr)
|
void tb_invalidate_phys_addr(target_ulong addr)
|
||||||
{
|
{
|
||||||
|
@ -158,4 +158,6 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
|
|||||||
/* vl.c */
|
/* vl.c */
|
||||||
extern int singlestep;
|
extern int singlestep;
|
||||||
|
|
||||||
|
void list_cpus(const char *optarg);
|
||||||
|
|
||||||
#endif /* CPU_COMMON_H */
|
#endif /* CPU_COMMON_H */
|
||||||
|
@ -55,6 +55,4 @@ extern int smp_cores;
|
|||||||
extern int smp_threads;
|
extern int smp_threads;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void list_cpus(const char *optarg);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -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,
|
void qmp_memsave(int64_t addr, int64_t size, const char *filename,
|
||||||
bool has_cpu, int64_t cpu_index, Error **errp)
|
bool has_cpu, int64_t cpu_index, Error **errp)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user