mbox series

[v2,00/18] tcg plugins pre-PR (deprecations, mem apis, contrib plugins)

Message ID 20240916085400.1046925-1-alex.bennee@linaro.org (mailing list archive)
Headers show
Series tcg plugins pre-PR (deprecations, mem apis, contrib plugins) | expand

Message

Alex Bennée Sept. 16, 2024, 8:53 a.m. UTC
I think all these are ready to go having been mostly reviewed in previous
series. The following still need review:

  util/timer: avoid deadlock when shutting down
  tests/tcg: add a system test to check memory instrumentation
  tests/tcg: ensure s390x-softmmu output redirected
  tests/tcg/multiarch: add test for plugin memory access (0 acks, 1 sobs, 1 tbs)

v2
  - fix some nits
  - included fix to ips posted as an RFC before

Alex.

Akihiko Odaki (1):
  contrib/plugins: Add a plugin to generate basic block vectors

Alex Bennée (9):
  deprecation: don't enable TCG plugins by default on 32 bit hosts
  deprecation: don't enable TCG plugins by default with TCI
  contrib/plugins: control flow plugin
  tests/tcg: clean up output of memory system test
  tests/tcg: only read/write 64 bit words on 64 bit systems
  tests/tcg: ensure s390x-softmmu output redirected
  tests/tcg: add a system test to check memory instrumentation
  util/timer: avoid deadlock when shutting down
  contrib/plugins: avoid hanging program

Pierrick Bouvier (6):
  plugins: save value during memory accesses
  plugins: extend API to get latest memory value accessed
  tests/tcg: add mechanism to run specific tests with plugins
  tests/tcg: allow to check output of plugins
  tests/tcg/plugins/mem: add option to print memory accesses
  tests/tcg/multiarch: add test for plugin memory access

Rowan Hart (2):
  plugins: add plugin API to read guest memory
  plugins: add option to dump write argument to syscall plugin

 docs/about/deprecated.rst                     |  19 +
 docs/about/emulation.rst                      |  44 +-
 configure                                     |  32 +-
 accel/tcg/atomic_template.h                   |  66 ++-
 include/hw/core/cpu.h                         |   4 +
 include/qemu/plugin.h                         |   4 +
 include/qemu/qemu-plugin.h                    |  64 ++-
 contrib/plugins/bbv.c                         | 158 +++++++
 contrib/plugins/cflow.c                       | 384 ++++++++++++++++++
 contrib/plugins/ips.c                         |   5 +
 plugins/api.c                                 |  53 +++
 plugins/core.c                                |   6 +
 tcg/tcg-op-ldst.c                             |  66 ++-
 tests/tcg/multiarch/system/memory.c           | 123 ++++--
 tests/tcg/multiarch/test-plugin-mem-access.c  | 177 ++++++++
 tests/tcg/plugins/mem.c                       | 248 ++++++++++-
 tests/tcg/plugins/syscall.c                   | 117 ++++++
 util/qemu-timer.c                             |  14 +-
 accel/tcg/atomic_common.c.inc                 |  13 +-
 accel/tcg/ldst_common.c.inc                   |  38 +-
 contrib/plugins/Makefile                      |   2 +
 plugins/qemu-plugins.symbols                  |   2 +
 tests/tcg/Makefile.target                     |  12 +-
 tests/tcg/alpha/Makefile.softmmu-target       |   2 +-
 tests/tcg/alpha/Makefile.target               |   3 +
 tests/tcg/multiarch/Makefile.target           |  11 +
 tests/tcg/multiarch/check-plugin-output.sh    |  36 ++
 .../multiarch/system/Makefile.softmmu-target  |   6 +
 .../system/validate-memory-counts.py          | 129 ++++++
 tests/tcg/ppc64/Makefile.target               |   5 +
 tests/tcg/s390x/Makefile.softmmu-target       |   8 +-
 31 files changed, 1768 insertions(+), 83 deletions(-)
 create mode 100644 contrib/plugins/bbv.c
 create mode 100644 contrib/plugins/cflow.c
 create mode 100644 tests/tcg/multiarch/test-plugin-mem-access.c
 create mode 100755 tests/tcg/multiarch/check-plugin-output.sh
 create mode 100755 tests/tcg/multiarch/system/validate-memory-counts.py