From patchwork Wed Oct 21 13:52:23 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [02/12] S/390 disassembler fixes Date: Wed, 21 Oct 2009 03:52:23 -0000 From: Ulrich Hecht X-Patchwork-Id: 36602 Message-Id: <1256133153-3121-3-git-send-email-uli@suse.de> To: aurelien@aurel32.net Cc: riku.voipio@iki.fi, qemu-devel@nongnu.org, agraf@suse.de enable zArch (64-bit) instructions enable disassembler for both s390 and s390x Signed-off-by: Ulrich Hecht --- configure | 2 +- disas.c | 3 +++ s390-dis.c | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/configure b/configure index ca6d45c..350c742 100755 --- a/configure +++ b/configure @@ -2386,7 +2386,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do ppc*) echo "CONFIG_PPC_DIS=y" >> $config_target_mak ;; - s390) + s390*) echo "CONFIG_S390_DIS=y" >> $config_target_mak ;; sh4) diff --git a/disas.c b/disas.c index ce342bc..14c8901 100644 --- a/disas.c +++ b/disas.c @@ -195,6 +195,9 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags) #elif defined(TARGET_CRIS) disasm_info.mach = bfd_mach_cris_v32; print_insn = print_insn_crisv32; +#elif defined(TARGET_S390X) + disasm_info.mach = bfd_mach_s390_64; + print_insn = print_insn_s390; #elif defined(TARGET_MICROBLAZE) disasm_info.mach = bfd_arch_microblaze; print_insn = print_insn_microblaze; diff --git a/s390-dis.c b/s390-dis.c index 86dd84f..9a73a57 100644 --- a/s390-dis.c +++ b/s390-dis.c @@ -191,10 +191,10 @@ init_disasm (struct disassemble_info *info) // switch (info->mach) // { // case bfd_mach_s390_31: - current_arch_mask = 1 << S390_OPCODE_ESA; +// current_arch_mask = 1 << S390_OPCODE_ESA; // break; // case bfd_mach_s390_64: -// current_arch_mask = 1 << S390_OPCODE_ZARCH; + current_arch_mask = 1 << S390_OPCODE_ZARCH; // break; // default: // abort ();