[05/10] target/i386: Support Capstone in disas_set_info

Message ID 20170914183516.19537-6-richard.henderson@linaro.org
State New
Headers show
Series
  • Support the Capstone disassembler
Related show

Commit Message

Richard Henderson Sept. 14, 2017, 6:35 p.m.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 target/i386/cpu.c | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
2.13.5

Patch

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index b869a69c53..c3980b3864 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -51,6 +51,8 @@ 
 #include "hw/i386/apic_internal.h"
 #endif
 
+#include "disas/capstone.h"
+
 
 /* Cache topology CPUID constants: */
 
@@ -4108,6 +4110,11 @@  static void x86_disas_set_info(CPUState *cs, disassemble_info *info)
                   : env->hflags & HF_CS32_MASK ? bfd_mach_i386_i386
                   : bfd_mach_i386_i8086);
     info->print_insn = print_insn_i386;
+
+    info->cap_arch = CS_ARCH_X86;
+    info->cap_mode = (env->hflags & HF_CS64_MASK ? CS_MODE_64
+                      : env->hflags & HF_CS32_MASK ? CS_MODE_32
+                      : CS_MODE_16);
 }
 
 static Property x86_cpu_properties[] = {