mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-10-15 07:22:46 +00:00
target/m68k: Use generic cpu_list()
Before it's applied: [gshan@gshan q]$ ./build/qemu-system-m68k -cpu ? cfv4e m5206 m5208 m68000 m68010 m68020 m68030 m68040 m68060 any After it's applied: [gshan@gshan q]$ ./build/qemu-system-m68k -cpu ? Available CPUs: any cfv4e m5206 m5208 m68000 m68010 m68020 m68030 m68040 m68060 Signed-off-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20231114235628.534334-15-gshan@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
979bf44af8
commit
261f406db9
|
@ -556,8 +556,6 @@ static inline bool m68k_feature(CPUM68KState *env, int feature)
|
||||||
return (env->features & BIT_ULL(feature)) != 0;
|
return (env->features & BIT_ULL(feature)) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void m68k_cpu_list(void);
|
|
||||||
|
|
||||||
void register_m68k_insns (CPUM68KState *env);
|
void register_m68k_insns (CPUM68KState *env);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -576,8 +574,6 @@ enum {
|
||||||
|
|
||||||
#define CPU_RESOLVING_TYPE TYPE_M68K_CPU
|
#define CPU_RESOLVING_TYPE TYPE_M68K_CPU
|
||||||
|
|
||||||
#define cpu_list m68k_cpu_list
|
|
||||||
|
|
||||||
/* MMU modes definitions */
|
/* MMU modes definitions */
|
||||||
#define MMU_KERNEL_IDX 0
|
#define MMU_KERNEL_IDX 0
|
||||||
#define MMU_USER_IDX 1
|
#define MMU_USER_IDX 1
|
||||||
|
|
|
@ -29,46 +29,6 @@
|
||||||
|
|
||||||
#define SIGNBIT (1u << 31)
|
#define SIGNBIT (1u << 31)
|
||||||
|
|
||||||
/* Sort alphabetically, except for "any". */
|
|
||||||
static gint m68k_cpu_list_compare(gconstpointer a, gconstpointer b)
|
|
||||||
{
|
|
||||||
ObjectClass *class_a = (ObjectClass *)a;
|
|
||||||
ObjectClass *class_b = (ObjectClass *)b;
|
|
||||||
const char *name_a, *name_b;
|
|
||||||
|
|
||||||
name_a = object_class_get_name(class_a);
|
|
||||||
name_b = object_class_get_name(class_b);
|
|
||||||
if (strcmp(name_a, "any-" TYPE_M68K_CPU) == 0) {
|
|
||||||
return 1;
|
|
||||||
} else if (strcmp(name_b, "any-" TYPE_M68K_CPU) == 0) {
|
|
||||||
return -1;
|
|
||||||
} else {
|
|
||||||
return strcasecmp(name_a, name_b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void m68k_cpu_list_entry(gpointer data, gpointer user_data)
|
|
||||||
{
|
|
||||||
ObjectClass *c = data;
|
|
||||||
const char *typename;
|
|
||||||
char *name;
|
|
||||||
|
|
||||||
typename = object_class_get_name(c);
|
|
||||||
name = g_strndup(typename, strlen(typename) - strlen("-" TYPE_M68K_CPU));
|
|
||||||
qemu_printf("%s\n", name);
|
|
||||||
g_free(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
void m68k_cpu_list(void)
|
|
||||||
{
|
|
||||||
GSList *list;
|
|
||||||
|
|
||||||
list = object_class_get_list(TYPE_M68K_CPU, false);
|
|
||||||
list = g_slist_sort(list, m68k_cpu_list_compare);
|
|
||||||
g_slist_foreach(list, m68k_cpu_list_entry, NULL);
|
|
||||||
g_slist_free(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
if (n < 8) {
|
if (n < 8) {
|
||||||
|
|
Loading…
Reference in a new issue