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); |