af6e4e0a22
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> |
||
---|---|---|
.. | ||
migration | ||
acpi-bits.rst | ||
atomics.rst | ||
bitops.rst | ||
blkdebug.txt | ||
blkverify.txt | ||
block-coroutine-wrapper.rst | ||
build-system.rst | ||
ci-definitions.rst.inc | ||
ci-jobs.rst.inc | ||
ci-runners.rst.inc | ||
ci.rst | ||
clocks.rst | ||
code-of-conduct.rst | ||
conflict-resolution.rst | ||
control-flow-integrity.rst | ||
decodetree.rst | ||
docs.rst | ||
ebpf_rss.rst | ||
fuzzing.rst | ||
index-api.rst | ||
index-build.rst | ||
index-internals.rst | ||
index-process.rst | ||
index-tcg.rst | ||
index.rst | ||
kconfig.rst | ||
loads-stores.rst | ||
lockcnt.txt | ||
maintainers.rst | ||
memory.rst | ||
modules.rst | ||
multi-process.rst | ||
multi-thread-tcg.rst | ||
multiple-iothreads.txt | ||
pci.rst | ||
qapi-code-gen.rst | ||
qdev-api.rst | ||
qgraph.rst | ||
qom-api.rst | ||
qom.rst | ||
qtest.rst | ||
rcu.txt | ||
replay.rst | ||
reset.rst | ||
s390-cpu-topology.rst | ||
s390-dasd-ipl.rst | ||
secure-coding-practices.rst | ||
stable-process.rst | ||
style.rst | ||
submitting-a-patch.rst | ||
submitting-a-pull-request.rst | ||
tcg-icount.rst | ||
tcg-ops.rst | ||
tcg-plugins.rst | ||
tcg.rst | ||
testing.rst | ||
tracing.rst | ||
trivial-patches.rst | ||
ui.rst | ||
vfio-iommufd.rst | ||
virtio-backends.rst | ||
writing-monitor-commands.rst | ||
zoned-storage.rst |