[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.11 v3 12/25] microblaze: replace cpu_mb_init()
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH for-2.11 v3 12/25] microblaze: replace cpu_mb_init() with cpu_generic_init() |
Date: |
Thu, 24 Aug 2017 18:31:35 +0200 |
cpu_mb_init() always falls back to TYPE_MICROBLAZE_CPU object
regardless of cpu_model. Put fallback logic into
mb_cpu_class_by_name() which would translate any cpu_model
into TYPE_MICROBLAZE_CPU class and replace cpu_mb_init()
with cpu_generic_init().
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
target/microblaze/cpu.h | 3 +--
target/microblaze/cpu.c | 6 ++++++
target/microblaze/translate.c | 11 -----------
3 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h
index 5ce4c82..52b6b6a 100644
--- a/target/microblaze/cpu.h
+++ b/target/microblaze/cpu.h
@@ -331,7 +331,6 @@ int mb_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf,
int reg);
int mb_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
void mb_tcg_init(void);
-MicroBlazeCPU *cpu_mb_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. */
@@ -344,7 +343,7 @@ int cpu_mb_signal_handler(int host_signum, void *pinfo,
#define TARGET_PHYS_ADDR_SPACE_BITS 32
#define TARGET_VIRT_ADDR_SPACE_BITS 32
-#define cpu_init(cpu_model) CPU(cpu_mb_init(cpu_model))
+#define cpu_init(cpu_model) cpu_generic_init(TYPE_MICROBLAZE_CPU, cpu_model)
#define cpu_signal_handler cpu_mb_signal_handler
diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c
index f85ff01..ddffe86 100644
--- a/target/microblaze/cpu.c
+++ b/target/microblaze/cpu.c
@@ -253,6 +253,11 @@ static Property mb_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};
+static ObjectClass *mb_cpu_class_by_name(const char *cpu_model)
+{
+ return object_class_by_name(TYPE_MICROBLAZE_CPU);
+}
+
static void mb_cpu_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
@@ -265,6 +270,7 @@ static void mb_cpu_class_init(ObjectClass *oc, void *data)
mcc->parent_reset = cc->reset;
cc->reset = mb_cpu_reset;
+ cc->class_by_name = mb_cpu_class_by_name;
cc->has_work = mb_cpu_has_work;
cc->do_interrupt = mb_cpu_do_interrupt;
cc->cpu_exec_interrupt = mb_cpu_exec_interrupt;
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index a24373c..83e2ef4 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1845,17 +1845,6 @@ void mb_cpu_dump_state(CPUState *cs, FILE *f,
fprintf_function cpu_fprintf,
cpu_fprintf(f, "\n\n");
}
-MicroBlazeCPU *cpu_mb_init(const char *cpu_model)
-{
- MicroBlazeCPU *cpu;
-
- cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU));
-
- object_property_set_bool(OBJECT(cpu), true, "realized", NULL);
-
- return cpu;
-}
-
void mb_tcg_init(void)
{
int i;
--
2.7.4
- [Qemu-devel] [PATCH for-2.11 v3 05/25] sparc: move adhoc CPUSPARCState initialization to realize time, (continued)
- [Qemu-devel] [PATCH for-2.11 v3 05/25] sparc: move adhoc CPUSPARCState initialization to realize time, Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 06/25] sparc: make cpu feature parsing property based, Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 07/25] sparc: replace cpu_sparc_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 09/25] alpha: replace cpu_alpha_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 13/25] nios2: replace cpu_nios2_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 10/25] hppa: replace cpu_hppa_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 08/25] s390x: replace cpu_s390x_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 11/25] m68k: replace cpu_m68k_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 14/25] tilegx: replace cpu_tilegx_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 15/25] xtensa: replace cpu_xtensa_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 12/25] microblaze: replace cpu_mb_init() with cpu_generic_init(),
Igor Mammedov <=
- [Qemu-devel] [PATCH for-2.11 v3 18/25] arm: replace cpu_arm_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 16/25] tricore: replace cpu_tricore_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 17/25] sh4: replace cpu_sh4_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 19/25] cris: replace cpu_cris_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 22/25] moxie: replace cpu_moxie_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 23/25] openrisc: replace cpu_openrisc_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 20/25] x86: replace cpu_x86_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 21/25] lm32: replace cpu_lm32_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 24/25] unicore32: replace uc32_cpu_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24
- [Qemu-devel] [PATCH for-2.11 v3 25/25] ppc: replace cpu_ppc_init() with cpu_generic_init(), Igor Mammedov, 2017/08/24