qemu-e2k/docs/devel
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
..
migration exec/ioport: Add portio_list_set_enabled() 2024-02-14 06:09:32 -05:00
acpi-bits.rst Revert "tests: Use separate virtual environment for avocado" 2023-08-28 09:55:48 +02:00
atomics.rst atomics: eliminate mb_read/mb_set 2023-06-06 09:42:14 +02:00
bitops.rst
blkdebug.txt
blkverify.txt
block-coroutine-wrapper.rst block-coroutine-wrapper.py: introduce co_wrapper 2022-12-15 16:07:43 +01:00
build-system.rst meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
ci-definitions.rst.inc
ci-jobs.rst.inc docs: correct typos 2024-02-20 22:20:48 +03:00
ci-runners.rst.inc
ci.rst docs/devel: clean-up the CI links in the docs 2022-06-01 18:55:04 +01:00
clocks.rst docs: Constify VMstate in examples 2023-12-30 07:38:06 +11:00
code-of-conduct.rst docs/devel: add a maintainers section to development process 2022-11-22 09:49:07 +00:00
conflict-resolution.rst
control-flow-integrity.rst
decodetree.rst docs: Document decodetree named field syntax 2023-05-30 10:55:39 -07:00
docs.rst docs: correct typos 2024-02-20 22:20:48 +03:00
ebpf_rss.rst
fuzzing.rst docs/fuzz: remove mentions of fork-based fuzzing 2023-02-16 23:02:46 -05:00
index-api.rst hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
index-build.rst docs/devel/docs: Document .hx file syntax 2024-01-15 17:12:22 +00:00
index-internals.rst docs/migration: Create index page 2024-01-16 11:16:10 +08:00
index-process.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
index-tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
index.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
kconfig.rst configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
loads-stores.rst docs/devel/loads-stores: Fix git grep regexes 2023-09-21 14:45:57 +01:00
lockcnt.txt
maintainers.rst docs/devel: add a maintainers section to development process 2022-11-22 09:49:07 +00:00
memory.rst
modules.rst
multi-process.rst docs: Don't mention "-mem-path" in multi-process.rst 2023-09-19 10:23:21 +02:00
multi-thread-tcg.rst Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
multiple-iothreads.txt Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
pci.rst hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
qapi-code-gen.rst qapi: Recognize section tags and 'Features:' only after blank line 2024-02-26 10:43:56 +01:00
qdev-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qgraph.rst
qom-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qom.rst include/qom/object.h: New OBJECT_DEFINE_SIMPLE_TYPE{, _WITH_INTERFACES} macros 2024-02-27 13:01:42 +00:00
qtest.rst system: Rename softmmu/ directory as system/ 2023-10-08 21:08:08 +02:00
rcu.txt
replay.rst Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
reset.rst docs/devel/reset: Update to discuss system reset 2024-02-27 13:01:42 +00:00
s390-cpu-topology.rst docs/s390: Fix wrong command example in s390-cpu-topology.rst 2023-11-28 14:27:18 +01:00
s390-dasd-ipl.rst
secure-coding-practices.rst
stable-process.rst
style.rst docs/style: permit inline loop variables 2023-08-30 14:57:44 +01:00
submitting-a-patch.rst docs/devel: try and improve the language around patch review 2022-11-22 09:52:23 +00:00
submitting-a-pull-request.rst docs/devel: add a maintainers section to development process 2022-11-22 09:49:07 +00:00
tcg-icount.rst accel/tcg: Remove CF_LAST_IO 2023-11-14 10:40:54 -08:00
tcg-ops.rst tcg: Introduce TCG_COND_TST{EQ,NE} 2024-02-03 23:43:47 +00:00
tcg-plugins.rst contrib/plugins: extend execlog to track register changes 2024-02-28 09:11:42 +00:00
tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
testing.rst tests/avocado: mark boot_linux.py long runtime instead of flaky 2024-02-23 23:16:34 +10:00
tracing.rst
trivial-patches.rst
ui.rst
vfio-iommufd.rst docs/devel: Add VFIO iommufd backend documentation 2023-12-19 19:03:38 +01:00
virtio-backends.rst
writing-monitor-commands.rst qapi: Fix dangling references to docs/devel/qapi-code-gen.txt 2024-01-26 07:04:53 +01:00
zoned-storage.rst docs/zoned-storage:add zoned emulation use case 2023-05-15 08:19:04 -04:00