Wire up CRIS disassembler, by Edgar E. Iglesias.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 8 Oct 2007 12:46:58 +0000 (12:46 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 8 Oct 2007 12:46:58 +0000 (12:46 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3357 c046a42c-6fe2-441c-8c8c-71466251a162

dis-asm.h
disas.c

index bacd9c4..a805a48 100644 (file)
--- 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 ae20d37..fe1fa9d 100644 (file)
--- 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);