[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/29] m68k: replace cpu_m68k_init() with cpu_generic
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PULL 15/29] m68k: replace cpu_m68k_init() with cpu_generic_init() |
Date: |
Fri, 1 Sep 2017 12:03:03 -0300 |
From: Igor Mammedov <address@hidden>
call register_m68k_insns() at realize time which makes
cpu_m68k_init() typical object creation function.
As result we can replace it with cpu_generic_init()
which does the same job, reducing code duplication a bit.
Signed-off-by: Igor Mammedov <address@hidden>
Tested-by: Thomas Huth <address@hidden>
Acked-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
target/m68k/cpu.h | 3 +--
hw/m68k/an5206.c | 2 +-
hw/m68k/mcf5208.c | 2 +-
target/m68k/cpu.c | 2 ++
target/m68k/helper.c | 20 --------------------
5 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
index 38a7e11b92..d9365476e5 100644
--- a/target/m68k/cpu.h
+++ b/target/m68k/cpu.h
@@ -163,7 +163,6 @@ int m68k_cpu_gdb_write_register(CPUState *cpu, uint8_t
*buf, int reg);
void m68k_tcg_init(void);
void m68k_cpu_init_gdb(M68kCPU *cpu);
-M68kCPU *cpu_m68k_init(const char *cpu_model);
/* you can call this signal handler from your SIGBUS and SIGSEGV
signal handlers to inform the virtual CPU of exceptions. non zero
is returned if the signal was handled by the virtual CPU. */
@@ -322,7 +321,7 @@ void register_m68k_insns (CPUM68KState *env);
#define TARGET_PHYS_ADDR_SPACE_BITS 32
#define TARGET_VIRT_ADDR_SPACE_BITS 32
-#define cpu_init(cpu_model) CPU(cpu_m68k_init(cpu_model))
+#define cpu_init(cpu_model) cpu_generic_init(TYPE_M68K_CPU, cpu_model)
#define cpu_signal_handler cpu_m68k_signal_handler
#define cpu_list m68k_cpu_list
diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c
index c76244176f..7b9b15d6c4 100644
--- a/hw/m68k/an5206.c
+++ b/hw/m68k/an5206.c
@@ -42,7 +42,7 @@ static void an5206_init(MachineState *machine)
if (!cpu_model) {
cpu_model = "m5206";
}
- cpu = cpu_m68k_init(cpu_model);
+ cpu = M68K_CPU(cpu_generic_init(TYPE_M68K_CPU, cpu_model));
if (!cpu) {
error_report("Unable to find m68k CPU definition");
exit(1);
diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
index f4b1387c0d..1a0f18073a 100644
--- a/hw/m68k/mcf5208.c
+++ b/hw/m68k/mcf5208.c
@@ -232,7 +232,7 @@ static void mcf5208evb_init(MachineState *machine)
if (!cpu_model) {
cpu_model = "m5208";
}
- cpu = cpu_m68k_init(cpu_model);
+ cpu = M68K_CPU(cpu_generic_init(TYPE_M68K_CPU, cpu_model));
if (!cpu) {
fprintf(stderr, "Unable to find m68k CPU definition\n");
exit(1);
diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c
index a14b6dda7f..55bf24bae6 100644
--- a/target/m68k/cpu.c
+++ b/target/m68k/cpu.c
@@ -230,6 +230,8 @@ static void m68k_cpu_realizefn(DeviceState *dev, Error
**errp)
M68kCPUClass *mcc = M68K_CPU_GET_CLASS(dev);
Error *local_err = NULL;
+ register_m68k_insns(&cpu->env);
+
cpu_exec_realizefn(cs, &local_err);
if (local_err != NULL) {
error_propagate(errp, local_err);
diff --git a/target/m68k/helper.c b/target/m68k/helper.c
index caae29100c..7e50ff5871 100644
--- a/target/m68k/helper.c
+++ b/target/m68k/helper.c
@@ -156,26 +156,6 @@ static int m68k_fpu_gdb_set_reg(CPUM68KState *env, uint8_t
*mem_buf, int n)
return 0;
}
-M68kCPU *cpu_m68k_init(const char *cpu_model)
-{
- M68kCPU *cpu;
- CPUM68KState *env;
- ObjectClass *oc;
-
- oc = cpu_class_by_name(TYPE_M68K_CPU, cpu_model);
- if (oc == NULL) {
- return NULL;
- }
- cpu = M68K_CPU(object_new(object_class_get_name(oc)));
- env = &cpu->env;
-
- register_m68k_insns(env);
-
- object_property_set_bool(OBJECT(cpu), true, "realized", NULL);
-
- return cpu;
-}
-
void m68k_cpu_init_gdb(M68kCPU *cpu)
{
CPUState *cs = CPU(cpu);
--
2.13.5
- [Qemu-devel] [PULL 04/29] target-i386/cpu: Add new EPYC CPU model, (continued)
- [Qemu-devel] [PULL 04/29] target-i386/cpu: Add new EPYC CPU model, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 07/29] sparc: embed sparc_def_t into CPUSPARCState, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 06/29] sparc: convert cpu models to SPARC cpu subclasses, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 08/29] sparc: convert cpu features to qdev properties, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 09/29] sparc: move adhoc CPUSPARCState initialization to realize time, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 10/29] sparc: make cpu feature parsing property based, Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 11/29] sparc: replace cpu_sparc_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 14/29] hppa: replace cpu_hppa_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 12/29] s390x: replace cpu_s390x_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 13/29] alpha: replace cpu_alpha_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 15/29] m68k: replace cpu_m68k_init() with cpu_generic_init(),
Eduardo Habkost <=
- [Qemu-devel] [PULL 16/29] microblaze: replace cpu_mb_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 17/29] nios2: replace cpu_nios2_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 19/29] xtensa: replace cpu_xtensa_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 20/29] tricore: replace cpu_tricore_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 18/29] tilegx: replace cpu_tilegx_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 21/29] sh4: replace cpu_sh4_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 23/29] cris: replace cpu_cris_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 26/29] moxie: replace cpu_moxie_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 22/29] arm: replace cpu_arm_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01
- [Qemu-devel] [PULL 24/29] x86: replace cpu_x86_init() with cpu_generic_init(), Eduardo Habkost, 2017/09/01