qemu-e2k/contrib
Alex Bennée af6e4e0a22 contrib/plugins: extend execlog to track register changes
With the new plugin register API we can now track changes to register
values. Currently the implementation is fairly dumb which will slow
down if a large number of register values are being tracked. This
could be improved by only instrumenting instructions which mention
registers we are interested in tracking.

Example usage:

  ./qemu-aarch64 -D plugin.log -d plugin \
     -cpu max,sve256=on \
     -plugin contrib/plugins/libexeclog.so,reg=sp,reg=z\* \
     ./tests/tcg/aarch64-linux-user/sha512-sve

will display in the execlog any changes to the stack pointer (sp) and
the SVE Z registers.

As testing registers every instruction will be quite a heavy operation
there is an additional flag which attempts to optimise the register
tracking by only instrumenting instructions which are likely to change
its value. This relies on the QEMU disassembler showing up the register
names in disassembly so is an explicit opt-in.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
Based-On:  <20231025093128.33116-19-akihiko.odaki@daynix.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240227144335.1196131-27-alex.bennee@linaro.org>
2024-02-28 09:11:42 +00:00
..
elf2dmp
gitdm
ivshmem-client configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
ivshmem-server configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
plugins contrib/plugins: extend execlog to track register changes 2024-02-28 09:11:42 +00:00
rdmacm-mux
systemd
vhost-user-blk configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
vhost-user-gpu virtio-gpu: Correct virgl_renderer_resource_get_info() error check 2024-02-14 06:09:33 -05:00
vhost-user-input configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
vhost-user-scsi configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00