Signed-off-by: Laurent Vivier <laur...@vivier.eu> --- disas.c | 4 ++++ target-m68k/translate.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/disas.c b/disas.c index 69a6066..2512001 100644 --- a/disas.c +++ b/disas.c @@ -185,6 +185,7 @@ static int print_insn_od_target(bfd_vma pc, disassemble_info *info) i386 - 1 means 16 bit code, 2 means 64 bit code ppc - bits 0:15 specify (optionally) the machine instruction set; bit 16 indicates little endian. + m68k - 1 means 680x0 family, otherwise coldfire other targets - unused */ void target_disas(FILE *out, CPUState *cpu, target_ulong code, @@ -245,6 +246,9 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong code, s.info.print_insn = print_insn_ppc; #elif defined(TARGET_M68K) s.info.print_insn = print_insn_m68k; + if (flags) { + s.info.mach = bfd_mach_m68040; + } #elif defined(TARGET_MIPS) #ifdef TARGET_WORDS_BIGENDIAN s.info.print_insn = print_insn_big_mips; diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 3b87b0c..6ba71a2 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -3139,9 +3139,10 @@ gen_intermediate_code_internal(M68kCPU *cpu, TranslationBlock *tb, #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) { + int flags = m68k_feature(env, M68K_FEATURE_M68000); qemu_log("----------------\n"); qemu_log("IN: %s\n", lookup_symbol(pc_start)); - log_target_disas(cs, pc_start, dc->pc - pc_start, 0); + log_target_disas(cs, pc_start, dc->pc - pc_start, flags); qemu_log("\n"); } #endif -- 2.4.3