diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2017-09-14 10:38:40 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2017-10-25 11:55:21 +0200 |
commit | ac226899db15c5751f5b1f4f42ea4b31a3d360e0 (patch) | |
tree | 781b174834f0298b7ef4f9d3de26eeaf723afec0 | |
parent | 110f6c703bb6d99419196c3c5e369880c994d0bd (diff) | |
download | qemu-ac226899db15c5751f5b1f4f42ea4b31a3d360e0.zip qemu-ac226899db15c5751f5b1f4f42ea4b31a3d360e0.tar.gz qemu-ac226899db15c5751f5b1f4f42ea4b31a3d360e0.tar.bz2 |
ppc: Support Capstone in disas_set_info
Cc: qemu-ppc@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | disas.c | 4 | ||||
-rw-r--r-- | target/ppc/translate_init.c | 6 |
2 files changed, 10 insertions, 0 deletions
@@ -448,6 +448,10 @@ void disas(FILE *out, void *code, unsigned long size) #elif defined(_ARCH_PPC) s.info.disassembler_options = (char *)"any"; print_insn = print_insn_ppc; + s.info.cap_arch = CS_ARCH_PPC; +# ifdef _ARCH_PPC64 + s.info.cap_mode = CS_MODE_64; +# endif #elif defined(__aarch64__) && defined(CONFIG_ARM_A64_DIS) print_insn = print_insn_arm_a64; s.info.cap_arch = CS_ARCH_ARM64; diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index 9b43534..41f4619 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -35,6 +35,7 @@ #include "mmu-book3s-v3.h" #include "sysemu/qtest.h" #include "qemu/cutils.h" +#include "disas/capstone.h" //#define PPC_DUMP_CPU //#define PPC_DEBUG_SPR @@ -10537,6 +10538,11 @@ static void ppc_disas_set_info(CPUState *cs, disassemble_info *info) } info->disassembler_options = (char *)"any"; info->print_insn = print_insn_ppc; + + info->cap_arch = CS_ARCH_PPC; +#ifdef TARGET_PPC64 + info->cap_mode = CS_MODE_64; +#endif } static Property ppc_cpu_properties[] = { |