Commit a25fd137c39406c9871640521492960e28388372
1 parent
450d4ff5
Wire up CRIS disassembler, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3357 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
8 additions
and
0 deletions
dis-asm.h
@@ -200,6 +200,10 @@ enum bfd_architecture | @@ -200,6 +200,10 @@ enum bfd_architecture | ||
200 | #define bfd_mach_m32r 0 /* backwards compatibility */ | 200 | #define bfd_mach_m32r 0 /* backwards compatibility */ |
201 | bfd_arch_mn10200, /* Matsushita MN10200 */ | 201 | bfd_arch_mn10200, /* Matsushita MN10200 */ |
202 | bfd_arch_mn10300, /* Matsushita MN10300 */ | 202 | bfd_arch_mn10300, /* Matsushita MN10300 */ |
203 | + bfd_arch_cris, /* Axis CRIS */ | ||
204 | +#define bfd_mach_cris_v0_v10 255 | ||
205 | +#define bfd_mach_cris_v32 32 | ||
206 | +#define bfd_mach_cris_v10_v32 1032 | ||
203 | bfd_arch_last | 207 | bfd_arch_last |
204 | }; | 208 | }; |
205 | #define bfd_mach_s390_31 31 | 209 | #define bfd_mach_s390_31 31 |
@@ -382,6 +386,7 @@ extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*)); | @@ -382,6 +386,7 @@ extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*)); | ||
382 | extern int print_insn_ppc PARAMS ((bfd_vma, disassemble_info*)); | 386 | extern int print_insn_ppc PARAMS ((bfd_vma, disassemble_info*)); |
383 | extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*)); | 387 | extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*)); |
384 | extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); | 388 | extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); |
389 | +extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*)); | ||
385 | 390 | ||
386 | #if 0 | 391 | #if 0 |
387 | /* Fetch the disassembler for a given BFD, if that support is available. */ | 392 | /* Fetch the disassembler for a given BFD, if that support is available. */ |
disas.c
@@ -205,6 +205,9 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags) | @@ -205,6 +205,9 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags) | ||
205 | #elif defined(TARGET_ALPHA) | 205 | #elif defined(TARGET_ALPHA) |
206 | disasm_info.mach = bfd_mach_alpha; | 206 | disasm_info.mach = bfd_mach_alpha; |
207 | print_insn = print_insn_alpha; | 207 | print_insn = print_insn_alpha; |
208 | +#elif defined(TARGET_CRIS) | ||
209 | + disasm_info.mach = bfd_mach_cris_v32; | ||
210 | + print_insn = print_insn_crisv32; | ||
208 | #else | 211 | #else |
209 | fprintf(out, "0x" TARGET_FMT_lx | 212 | fprintf(out, "0x" TARGET_FMT_lx |
210 | ": Asm output not supported on this arch\n", code); | 213 | ": Asm output not supported on this arch\n", code); |