Ping! On Sat, Jul 11, 2015 at 6:59 PM, Peter Crosthwaite <crosthwaitepe...@gmail.com> wrote: > From: Peter Crosthwaite <crosthwaitepe...@gmail.com> > > Move the target_disas() s390 specifics to the QOM disas_set_info hook > and delete the #ifdef specific code in disas.c. > > Cc: Richard Henderson <r...@twiddle.net> > Cc: Alexander Graf <ag...@suse.de> > Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> > --- > Testing: > $ ./s390x-softmmu/qemu-system-s390x -nographic -d in_asm -S 2> err > QEMU 2.3.90 monitor - type 'help' for more information > (qemu) info register > unknown command: 'register' > (qemu) info registers > PSW=mask 0000000180000000 addr 0000000007e00468 cc 00 > ... > (qemu) x/i 0x7e00468 > 0x0000000007e00468: larl %r15,0x7e0d000 > (qemu) x/i 0x7e0046e > 0x0000000007e0046e: larl %r6,0x7e15000 > (qemu) c > (qemu) No virtio-blk device found! > > $ more err > IN: > 0x0000000007e00468: larl %r15,0x7e0d000 > 0x0000000007e0046e: larl %r6,0x7e15000 > 0x0000000007e00474: stg %r7,0(%r6) > 0x0000000007e0047a: j 0x7e0052c > ... > --- > disas.c | 6 ------ > target-s390x/cpu.c | 8 ++++++++ > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/disas.c b/disas.c > index 69a6066..e62c934 100644 > --- a/disas.c > +++ b/disas.c > @@ -257,9 +257,6 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong > code, > #elif defined(TARGET_ALPHA) > s.info.mach = bfd_mach_alpha_ev6; > s.info.print_insn = print_insn_alpha; > -#elif defined(TARGET_S390X) > - s.info.mach = bfd_mach_s390_64; > - s.info.print_insn = print_insn_s390; > #elif defined(TARGET_MOXIE) > s.info.mach = bfd_arch_moxie; > s.info.print_insn = print_insn_moxie; > @@ -480,9 +477,6 @@ void monitor_disas(Monitor *mon, CPUState *cpu, > #elif defined(TARGET_SH4) > s.info.mach = bfd_mach_sh4; > s.info.print_insn = print_insn_sh; > -#elif defined(TARGET_S390X) > - s.info.mach = bfd_mach_s390_64; > - s.info.print_insn = print_insn_s390; > #elif defined(TARGET_MOXIE) > s.info.mach = bfd_arch_moxie; > s.info.print_insn = print_insn_moxie; > diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c > index c3e21b4..471c6a7 100644 > --- a/target-s390x/cpu.c > +++ b/target-s390x/cpu.c > @@ -184,6 +184,12 @@ static void s390_cpu_machine_reset_cb(void *opaque) > } > #endif > > +static void s390_cpu_disas_set_info(CPUState *cpu, disassemble_info *info) > +{ > + info->mach = bfd_mach_s390_64; > + info->print_insn = print_insn_s390; > +} > + > static void s390_cpu_realizefn(DeviceState *dev, Error **errp) > { > CPUState *cs = CPU(dev); > @@ -353,6 +359,8 @@ static void s390_cpu_class_init(ObjectClass *oc, void > *data) > #endif > cc->gdb_num_core_regs = S390_NUM_CORE_REGS; > cc->gdb_core_xml_file = "s390x-core64.xml"; > + > + cc->disas_set_info = s390_cpu_disas_set_info; > } > > static const TypeInfo s390_cpu_type_info = { > -- > 1.9.1 >