[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/33] accel/tcg: Improve disassembly for target and plugin
|
From: |
Richard Henderson |
|
Subject: |
[PATCH v2 00/33] accel/tcg: Improve disassembly for target and plugin |
|
Date: |
Wed, 24 Apr 2024 16:30:58 -0700 |
Based-on: 20240424230224.941028-1-richard.henderson@linaro.org
("[PATCH v3 00/20] Rewrite plugin code generation")
Rebase only.
Reviews required for:
04-accel-tcg-Reorg-translator_ld.patch
06-accel-tcg-Record-mmio-bytes-during-translation.patch
07-accel-tcg-Record-when-translator_fake_ldb-is-used.patch
08-accel-tcg-Record-DisasContextBase-in-tcg_ctx-for-.patch
09-plugins-Copy-memory-in-qemu_plugin_insn_data.patch
10-accel-tcg-Implement-translator_st.patch
11-plugins-Use-translator_st-for-qemu_plugin_insn_da.patch
12-plugins-Read-mem_only-directly-from-TB-cflags.patch
13-plugins-Use-DisasContextBase-for-qemu_plugin_insn.patch
15-plugins-Merge-alloc_tcg_plugin_context-into-plugi.patch
18-disas-Split-disas.c.patch
19-disas-Use-translator_st-to-get-disassembly-data.patch
21-target-s390x-Fix-translator_fake_ld-length.patch
22-target-s390x-Disassemble-EXECUTEd-instructions.patch
23-target-hexagon-Use-translator_ldl-in-pkt_crosses_.patch
29-target-riscv-Use-translator_ld-for-everything.patch
32-target-s390x-Use-translator_lduw-in-get_next_pc.patch
r~
Philippe Mathieu-Daudé (1):
accel/tcg: Remove cpu_ldsb_code / cpu_ldsw_code
Richard Henderson (32):
accel/tcg: Use vaddr in translator_ld*
accel/tcg: Hide in_same_page outside of a target-specific context
accel/tcg: Pass DisasContextBase to translator_fake_ldb
accel/tcg: Reorg translator_ld*
accel/tcg: Cap the translation block when we encounter mmio
accel/tcg: Record mmio bytes during translation
accel/tcg: Record when translator_fake_ldb is used
accel/tcg: Record DisasContextBase in tcg_ctx for plugins
plugins: Copy memory in qemu_plugin_insn_data
accel/tcg: Implement translator_st
plugins: Use translator_st for qemu_plugin_insn_data
plugins: Read mem_only directly from TB cflags
plugins: Use DisasContextBase for qemu_plugin_insn_haddr
plugins: Use DisasContextBase for qemu_plugin_tb_vaddr
plugins: Merge alloc_tcg_plugin_context into plugin_gen_tb_start
accel/tcg: Provide default implementation of disas_log
accel/tcg: Return bool from TranslatorOps.disas_log
disas: Split disas.c
disas: Use translator_st to get disassembly data
accel/tcg: Introduce translator_fake_ld
target/s390x: Fix translator_fake_ld length
target/s390x: Disassemble EXECUTEd instructions
target/hexagon: Use translator_ldl in pkt_crosses_page
target/microblaze: Use translator_ldl
target/i386: Use translator_ldub for everything
target/avr: Use translator_lduw
target/cris: Use translator_ld* in cris_fetch
target/cris: Use cris_fetch in translate_v10.c.inc
target/riscv: Use translator_ld* for everything
target/rx: Use translator_ld*
target/xtensa: Use translator_ldub in xtensa_insn_len
target/s390x: Use translator_lduw in get_next_pc
disas/disas-internal.h | 4 +
include/disas/disas.h | 9 +-
include/exec/cpu_ldst.h | 10 -
include/exec/plugin-gen.h | 7 +-
include/exec/translator.h | 71 +++++--
include/qemu/plugin.h | 22 +-
include/qemu/qemu-plugin.h | 15 +-
include/qemu/typedefs.h | 1 +
include/tcg/tcg.h | 1 +
accel/tcg/plugin-gen.c | 63 +++---
accel/tcg/translator.c | 331 +++++++++++++++++++-----------
contrib/plugins/execlog.c | 5 +-
contrib/plugins/howvec.c | 4 +-
disas/disas-common.c | 103 ++++++++++
disas/disas-host.c | 129 ++++++++++++
disas/disas-mon.c | 15 ++
disas/disas-target.c | 99 +++++++++
disas/disas.c | 337 -------------------------------
disas/objdump.c | 37 ++++
plugins/api.c | 57 ++++--
target/alpha/translate.c | 9 -
target/arm/tcg/translate-a64.c | 11 -
target/arm/tcg/translate.c | 12 --
target/avr/translate.c | 11 +-
target/cris/translate.c | 37 +---
target/hexagon/translate.c | 11 +-
target/hppa/translate.c | 21 +-
target/i386/tcg/translate.c | 19 +-
target/loongarch/tcg/translate.c | 8 -
target/m68k/translate.c | 9 -
target/microblaze/translate.c | 11 +-
target/mips/tcg/translate.c | 9 -
target/openrisc/translate.c | 11 -
target/ppc/translate.c | 9 -
target/riscv/translate.c | 24 +--
target/rx/translate.c | 35 ++--
target/s390x/tcg/translate.c | 26 ++-
target/sh4/translate.c | 9 -
target/sparc/translate.c | 9 -
target/tricore/translate.c | 9 -
target/xtensa/translate.c | 12 +-
tcg/tcg.c | 12 --
target/cris/translate_v10.c.inc | 30 +--
disas/meson.build | 8 +-
44 files changed, 818 insertions(+), 864 deletions(-)
create mode 100644 disas/disas-common.c
create mode 100644 disas/disas-host.c
create mode 100644 disas/disas-target.c
delete mode 100644 disas/disas.c
create mode 100644 disas/objdump.c
--
2.34.1
- [PATCH v2 00/33] accel/tcg: Improve disassembly for target and plugin,
Richard Henderson <=
- [PATCH v2 02/33] accel/tcg: Hide in_same_page outside of a target-specific context, Richard Henderson, 2024/04/24
- [PATCH v2 01/33] accel/tcg: Use vaddr in translator_ld*, Richard Henderson, 2024/04/24
- [PATCH v2 03/33] accel/tcg: Pass DisasContextBase to translator_fake_ldb, Richard Henderson, 2024/04/24
- [PATCH v2 04/33] accel/tcg: Reorg translator_ld*, Richard Henderson, 2024/04/24
- [PATCH v2 11/33] plugins: Use translator_st for qemu_plugin_insn_data, Richard Henderson, 2024/04/24
- [PATCH v2 07/33] accel/tcg: Record when translator_fake_ldb is used, Richard Henderson, 2024/04/24
- [PATCH v2 05/33] accel/tcg: Cap the translation block when we encounter mmio, Richard Henderson, 2024/04/24
- [PATCH v2 09/33] plugins: Copy memory in qemu_plugin_insn_data, Richard Henderson, 2024/04/24