s390 disassembler support, by Ulrich Hecht.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3104 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
ths 2007-07-31 23:44:21 +00:00
parent 24bc1cbc7b
commit 8f860bb83c
4 changed files with 1719 additions and 0 deletions

View File

@ -347,6 +347,9 @@ endif
ifeq ($(findstring sh4, $(TARGET_ARCH) $(ARCH)),sh4)
LIBOBJS+=sh4-dis.o
endif
ifeq ($(findstring s390, $(TARGET_ARCH) $(ARCH)),s390)
LIBOBJS+=s390-dis.o
endif
ifdef CONFIG_GDBSTUB
OBJS+=gdbstub.o

View File

@ -202,6 +202,8 @@ enum bfd_architecture
bfd_arch_mn10300, /* Matsushita MN10300 */
bfd_arch_last
};
#define bfd_mach_s390_31 31
#define bfd_mach_s390_64 64
typedef struct symbol_cache_entry
{
@ -379,6 +381,7 @@ extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_ppc PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*));
#if 0
/* Fetch the disassembler for a given BFD, if that support is available. */

View File

@ -269,6 +269,8 @@ void disas(FILE *out, void *code, unsigned long size)
print_insn = print_insn_little_mips;
#elif defined(__m68k__)
print_insn = print_insn_m68k;
#elif defined(__s390__)
print_insn = print_insn_s390;
#else
fprintf(out, "0x%lx: Asm output not supported on this arch\n",
(long) code);

1711
s390-dis.c Normal file

File diff suppressed because it is too large Load Diff