[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/28] m68k: replace cpu_m68k_init() with cpu_generi
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH 14/28] m68k: replace cpu_m68k_init() with cpu_generic_init() |
Date: |
Fri, 14 Jul 2017 15:52:05 +0200 |
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>
---
CC: Thomas Huth <address@hidden>
CC: Laurent Vivier <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 38a7e11..d936547 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 142bab9..23c23df 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 6563518..cca2e73 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 a14b6dd..55bf24b 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 caae291..7e50ff5 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.7.4
- [Qemu-devel] [PATCH 07/28] sparc: move adhoc CPUSPARCState initialization to realize time, (continued)
- [Qemu-devel] [PATCH 07/28] sparc: move adhoc CPUSPARCState initialization to realize time, Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 06/28] sparc: convert cpu features to qdev properties, Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 08/28] x86: extract legacy cpu features format parser, Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 09/28] sparc: replace custom cpu feature parsing with cpu_legacy_parse_featurestr(), Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 10/28] sparc: replace cpu_sparc_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 11/28] s390x: replace cpu_s390x_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 12/28] alpha: replace cpu_alpha_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 13/28] hppa: replace cpu_hppa_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14
- [Qemu-devel] [PATCH 14/28] m68k: replace cpu_m68k_init() with cpu_generic_init(),
Igor Mammedov <=
[Qemu-devel] [PATCH 16/28] nios2: replace cpu_nios2_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14
[Qemu-devel] [PATCH 15/28] microblaze: replace cpu_mb_init() with cpu_generic_init(), Igor Mammedov, 2017/07/14