[PULL v2 00/18] tcg plugins (deprecations, mem apis, contrib plugins)

Alex Bennée posted 18 patches 2 weeks, 2 days ago
Only 0 patches received!
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                            | 388 +++++++++++++++++++++
contrib/plugins/ips.c                              |   6 +
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                            | 270 +++++++++++++-
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 ++
tests/tcg/multiarch/system/Makefile.softmmu-target |   6 +
.../tcg/multiarch/system/validate-memory-counts.py | 130 +++++++
tests/tcg/ppc64/Makefile.target                    |   5 +
tests/tcg/s390x/Makefile.softmmu-target            |   8 +-
31 files changed, 1796 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
[PULL v2 00/18] tcg plugins (deprecations, mem apis, contrib plugins)
Posted by Alex Bennée 2 weeks, 2 days ago
The following changes since commit 14556211bc6d7125a44d5b5df90caba019b0ec0e:

  Merge tag 'qemu-macppc-20240918' of https://github.com/mcayland/qemu into staging (2024-09-18 20:59:10 +0100)

are available in the Git repository at:

  https://gitlab.com/stsquad/qemu.git tags/pull-tcg-plugin-memory-190924-1

for you to fetch changes up to 8148fb56c753908fcc41d52846f9d8e6ae5f7daf:

  contrib/plugins: avoid hanging program (2024-09-19 15:58:01 +0100)

----------------------------------------------------------------
TCG plugin memory instrumentation updates

  - deprecate plugins on 32 bit hosts
  - deprecate plugins with TCI
  - extend memory API to save value
  - add check-tcg tests to exercise new memory API
  - fix timer deadlock with non-changing timer
  - add basic block vector plugin to contrib
  - add cflow plugin to contrib
  - extend syscall plugin to dump write memory
  - validate ips plugin arguments meet minimum slice value

----------------------------------------------------------------
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                            | 388 +++++++++++++++++++++
 contrib/plugins/ips.c                              |   6 +
 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                            | 270 +++++++++++++-
 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 ++
 tests/tcg/multiarch/system/Makefile.softmmu-target |   6 +
 .../tcg/multiarch/system/validate-memory-counts.py | 130 +++++++
 tests/tcg/ppc64/Makefile.target                    |   5 +
 tests/tcg/s390x/Makefile.softmmu-target            |   8 +-
 31 files changed, 1796 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

-- 
2.39.5


Re: [PULL v2 00/18] tcg plugins (deprecations, mem apis, contrib plugins)
Posted by Peter Maydell 1 week, 3 days ago
On Thu, 19 Sept 2024 at 18:37, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit 14556211bc6d7125a44d5b5df90caba019b0ec0e:
>
>   Merge tag 'qemu-macppc-20240918' of https://github.com/mcayland/qemu into staging (2024-09-18 20:59:10 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stsquad/qemu.git tags/pull-tcg-plugin-memory-190924-1
>
> for you to fetch changes up to 8148fb56c753908fcc41d52846f9d8e6ae5f7daf:
>
>   contrib/plugins: avoid hanging program (2024-09-19 15:58:01 +0100)
>
> ----------------------------------------------------------------
> TCG plugin memory instrumentation updates
>
>   - deprecate plugins on 32 bit hosts
>   - deprecate plugins with TCI
>   - extend memory API to save value
>   - add check-tcg tests to exercise new memory API
>   - fix timer deadlock with non-changing timer
>   - add basic block vector plugin to contrib
>   - add cflow plugin to contrib
>   - extend syscall plugin to dump write memory
>   - validate ips plugin arguments meet minimum slice value
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/9.2
for any user-visible changes.

-- PMM