qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 0/8] Support the Capstone disassembler


From: Richard Henderson
Subject: [Qemu-devel] [PATCH v2 0/8] Support the Capstone disassembler
Date: Tue, 19 Sep 2017 10:03:05 -0500

Changes since v1:
  * Don't silently ignore unknown insns.
  * Don't copy memory when dumping host insns.
  * More properly handle dumping from the monitor.
  * Drop enabling for s390x, sparc, mips.

    The s390x and sparc support in capstone is pretty poor.  It seems
    to only handle userland instructions -- at least that's the impression
    I get from the hordes of insns rendered as ".byte" within the first
    few TB of booting each machine.  I dropped the mips patch simply
    because there are too many capstone options and it probably needs
    more testing than I've given it.

    If there are any IBM folk paying attention, it would be awesome if
    some time could be found somewhere to improve capstone for zSeries.
    You're in the same boat that i386 is in -- namely that our ancient
    binutils gplv2 code is neigh useless for modern systems.  It would
    be really really nice to have a better disassembler for qemu.


r~


Cc: Christian Borntraeger <address@hidden>
Cc: Alexander Graf <address@hidden>

Richard Henderson (8):
  target/i386: Convert to disas_set_info hook
  target/ppc: Convert to disas_set_info hook
  disas: Remove unused flags arguments
  disas: Support the Capstone disassembler library
  i386: Support Capstone in disas_set_info
  arm: Support Capstone in disas_set_info
  ppc: Support Capstone in disas_set_info
  disas: Remove monitor_disas_is_physical

 include/disas/bfd.h           |   4 +
 include/disas/capstone.h      |  38 ++++++
 include/disas/disas.h         |   4 +-
 include/exec/log.h            |   4 +-
 disas.c                       | 310 ++++++++++++++++++++++++++++++------------
 monitor.c                     |  29 +---
 target/alpha/translate.c      |   2 +-
 target/arm/cpu.c              |  21 ++-
 target/arm/translate-a64.c    |   3 +-
 target/arm/translate.c        |   3 +-
 target/cris/translate.c       |   3 +-
 target/hppa/translate.c       |   2 +-
 target/i386/cpu.c             |  19 +++
 target/i386/translate.c       |   8 +-
 target/lm32/translate.c       |   2 +-
 target/m68k/translate.c       |   2 +-
 target/microblaze/translate.c |   2 +-
 target/mips/translate.c       |   2 +-
 target/nios2/translate.c      |   2 +-
 target/openrisc/translate.c   |   2 +-
 target/ppc/translate.c        |   5 +-
 target/ppc/translate_init.c   |  27 ++++
 target/s390x/translate.c      |   2 +-
 target/sh4/translate.c        |   2 +-
 target/sparc/translate.c      |   2 +-
 target/tricore/translate.c    |   2 +-
 target/unicore32/translate.c  |   2 +-
 target/xtensa/translate.c     |   2 +-
 configure                     |  26 ++++
 29 files changed, 380 insertions(+), 152 deletions(-)
 create mode 100644 include/disas/capstone.h

-- 
2.13.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]