[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 6/8] disas: QOMify sh4 specific disas setup
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 6/8] disas: QOMify sh4 specific disas setup |
Date: |
Thu, 22 Oct 2015 18:22:37 +0200 |
From: Peter Crosthwaite <address@hidden>
Move the target_disas() sh4 specifics to the CPUClass::disas_set_info()
hook and delete the #ifdef specific code in disas.c.
Signed-off-by: Peter Crosthwaite <address@hidden>
Acked-by: Aurelien Jarno <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
disas.c | 6 ------
target-sh4/cpu.c | 11 ++++++++++-
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/disas.c b/disas.c
index b687c98..2676e2f 100644
--- a/disas.c
+++ b/disas.c
@@ -236,9 +236,6 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong
code,
#else
s.info.print_insn = print_insn_little_mips;
#endif
-#elif defined(TARGET_SH4)
- s.info.mach = bfd_mach_sh4;
- s.info.print_insn = print_insn_sh;
#elif defined(TARGET_ALPHA)
s.info.mach = bfd_mach_alpha_ev6;
s.info.print_insn = print_insn_alpha;
@@ -436,9 +433,6 @@ void monitor_disas(Monitor *mon, CPUState *cpu,
#else
s.info.print_insn = print_insn_little_mips;
#endif
-#elif defined(TARGET_SH4)
- s.info.mach = bfd_mach_sh4;
- s.info.print_insn = print_insn_sh;
#endif
if (!s.info.print_insn) {
monitor_printf(mon, "0x" TARGET_FMT_lx
diff --git a/target-sh4/cpu.c b/target-sh4/cpu.c
index 64e4467..d7e2fbd 100644
--- a/target-sh4/cpu.c
+++ b/target-sh4/cpu.c
@@ -70,6 +70,12 @@ static void superh_cpu_reset(CPUState *s)
set_default_nan_mode(1, &env->fp_status);
}
+static void superh_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+{
+ info->mach = bfd_mach_sh4;
+ info->print_insn = print_insn_sh;
+}
+
typedef struct SuperHCPUListState {
fprintf_function cpu_fprintf;
FILE *file;
@@ -288,9 +294,12 @@ static void superh_cpu_class_init(ObjectClass *oc, void
*data)
#else
cc->get_phys_page_debug = superh_cpu_get_phys_page_debug;
#endif
- dc->vmsd = &vmstate_sh_cpu;
+ cc->disas_set_info = superh_cpu_disas_set_info;
+
cc->gdb_num_core_regs = 59;
+ dc->vmsd = &vmstate_sh_cpu;
+
/*
* Reason: superh_cpu_initfn() calls cpu_exec_init(), which saves
* the object in cpus -> dangling pointer after final
--
2.1.4
- [Qemu-devel] [PULL 0/8] QOM CPUState patch queue 2015-10-22, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 6/8] disas: QOMify sh4 specific disas setup,
Andreas Färber <=
- [Qemu-devel] [PULL 4/8] disas: QOMify sparc specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 5/8] disas: QOMify lm32 specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 1/8] disas: QOMify s390x specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 3/8] disas: QOMify m68k specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 8/8] disas: QOMify alpha specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 2/8] disas: QOMify moxie specific disas setup, Andreas Färber, 2015/10/22
- [Qemu-devel] [PULL 7/8] disas: QOMify mips specific disas setup, Andreas Färber, 2015/10/22
- Re: [Qemu-devel] [PULL 0/8] QOM CPUState patch queue 2015-10-22, Peter Maydell, 2015/10/22