[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 2/2] capstone: Enable disassembly for s390x
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 2/2] capstone: Enable disassembly for s390x |
Date: |
Thu, 23 May 2019 16:49:54 -0400 |
Enable s390x, aka SYSZ, in the git submodule build.
Set the capstone parameters for both s390x host and guest.
Signed-off-by: Richard Henderson <address@hidden>
---
Makefile | 1 +
disas.c | 3 +++
target/s390x/cpu.c | 4 ++++
3 files changed, 8 insertions(+)
diff --git a/Makefile b/Makefile
index e02b88bcb1..3b49eed664 100644
--- a/Makefile
+++ b/Makefile
@@ -478,6 +478,7 @@ CAP_CFLAGS += -DCAPSTONE_USE_SYS_DYN_MEM
CAP_CFLAGS += -DCAPSTONE_HAS_ARM
CAP_CFLAGS += -DCAPSTONE_HAS_ARM64
CAP_CFLAGS += -DCAPSTONE_HAS_POWERPC
+CAP_CFLAGS += -DCAPSTONE_HAS_SYSZ
CAP_CFLAGS += -DCAPSTONE_HAS_X86
subdir-capstone: .git-submodule-status
diff --git a/disas.c b/disas.c
index 41ad0102e2..4a63586af0 100644
--- a/disas.c
+++ b/disas.c
@@ -551,6 +551,9 @@ void disas(FILE *out, void *code, unsigned long size)
print_insn = print_insn_m68k;
#elif defined(__s390__)
print_insn = print_insn_s390;
+ s.info.cap_arch = CS_ARCH_SYSZ;
+ s.info.cap_insn_unit = 2;
+ s.info.cap_insn_split = 6;
#elif defined(__hppa__)
print_insn = print_insn_hppa;
#endif
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index b1df63d82c..553571d86b 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -41,6 +41,7 @@
#include "sysemu/sysemu.h"
#endif
#include "fpu/softfloat.h"
+#include "disas/capstone.h"
#define CR0_RESET 0xE0UL
#define CR14_RESET 0xC2000000UL;
@@ -175,6 +176,9 @@ static void s390_cpu_disas_set_info(CPUState *cpu,
disassemble_info *info)
{
info->mach = bfd_mach_s390_64;
info->print_insn = print_insn_s390;
+ info->cap_arch = CS_ARCH_SYSZ;
+ info->cap_insn_unit = 2;
+ info->cap_insn_split = 6;
}
static void s390_cpu_realizefn(DeviceState *dev, Error **errp)
--
2.17.1