fixed ljmp and iret to TSS
[qemu] / disas.c
diff --git a/disas.c b/disas.c
index d5aa7f3..f048348 100644 (file)
--- a/disas.c
+++ b/disas.c
@@ -140,9 +140,12 @@ void disas(FILE *out, void *code, unsigned long size, int is_host, int flags)
 #else
        disasm_info.endian = BFD_ENDIAN_LITTLE;
 #endif
-#ifdef __i386__
+#if defined(__i386__)
        disasm_info.mach = bfd_mach_i386_i386;
        print_insn = print_insn_i386;
+#elif defined(__x86_64__)
+       disasm_info.mach = bfd_mach_x86_64;
+       print_insn = print_insn_i386;
 #elif defined(__powerpc__)
        print_insn = print_insn_ppc;
 #elif defined(__alpha__)
@@ -171,6 +174,8 @@ void disas(FILE *out, void *code, unsigned long size, int is_host, int flags)
        print_insn = print_insn_arm;
 #elif defined(TARGET_SPARC)
        print_insn = print_insn_sparc;
+#elif defined(TARGET_PPC)
+       print_insn = print_insn_ppc;
 #else
        fprintf(out, "Asm output not supported on this arch\n");
        return;