summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-08 12:46:58 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-08 12:46:58 +0000
commita25fd137c39406c9871640521492960e28388372 (patch)
treea55a0c8a261bb78af9091b9445bd83c07f1f92e9
parent450d4ff553af32fc9d83fef20d7106b0151526b8 (diff)
downloadqemu-a25fd137c39406c9871640521492960e28388372.tar.gz
Wire up CRIS disassembler, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3357 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--dis-asm.h5
-rw-r--r--disas.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/dis-asm.h b/dis-asm.h
index bacd9c46b0..a805a48e57 100644
--- a/dis-asm.h
+++ b/dis-asm.h
@@ -200,6 +200,10 @@ enum bfd_architecture
#define bfd_mach_m32r 0 /* backwards compatibility */
bfd_arch_mn10200, /* Matsushita MN10200 */
bfd_arch_mn10300, /* Matsushita MN10300 */
+ bfd_arch_cris, /* Axis CRIS */
+#define bfd_mach_cris_v0_v10 255
+#define bfd_mach_cris_v32 32
+#define bfd_mach_cris_v10_v32 1032
bfd_arch_last
};
#define bfd_mach_s390_31 31
@@ -382,6 +386,7 @@ 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*));
+extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*));
#if 0
/* Fetch the disassembler for a given BFD, if that support is available. */
diff --git a/disas.c b/disas.c
index ae20d37bca..fe1fa9d5a8 100644
--- a/disas.c
+++ b/disas.c
@@ -205,6 +205,9 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags)
#elif defined(TARGET_ALPHA)
disasm_info.mach = bfd_mach_alpha;
print_insn = print_insn_alpha;
+#elif defined(TARGET_CRIS)
+ disasm_info.mach = bfd_mach_cris_v32;
+ print_insn = print_insn_crisv32;
#else
fprintf(out, "0x" TARGET_FMT_lx
": Asm output not supported on this arch\n", code);