qemu/contrib/plugins
Akihiko Odaki 0d279bec0f contrib/plugins: Add a plugin to generate basic block vectors
SimPoint is a widely used tool to find the ideal microarchitecture
simulation points so Valgrind[2] and Pin[3] support generating basic
block vectors for use with them. Let's add a corresponding plugin to
QEMU too.

Note that this plugin has a different goal with tests/plugin/bb.c.

This plugin creates a vector for each constant interval instead of
counting the execution of basic blocks for the entire run and able to
describe the change of execution behavior. Its output is also
syntactically simple and better suited for parsing, while the output of
tests/plugin/bb.c is more human-readable.

[1] https://cseweb.ucsd.edu/~calder/simpoint/
[2] https://valgrind.org/docs/manual/bbv-manual.html
[3] https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-dynamic-binary-instrumentation-tool.html

Signed-off-by: Yotaro Nada <yotaro.nada@gmail.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240816-bb-v3-1-b9aa4a5c75c5@daynix.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240916085400.1046925-16-alex.bennee@linaro.org>
2024-09-19 15:58:01 +01:00
..
bbv.c contrib/plugins: Add a plugin to generate basic block vectors 2024-09-19 15:58:01 +01:00
cache.c contrib/plugins/cache.c: Remove redundant check of l2_access 2024-07-30 11:44:18 +01:00
cflow.c contrib/plugins: control flow plugin 2024-09-19 15:58:01 +01:00
drcov.c contrib/plugins/drcov: Fix string format 2023-09-07 12:54:17 +02:00
execlog.c contrib/plugins/execlog: Fix shadowed declaration warning 2024-08-20 00:49:14 +02:00
hotblocks.c contrib/plugins/hotblocks: migrate to new per_vcpu API 2024-03-06 12:35:38 +00:00
hotpages.c plugins: fix memory leak while parsing options 2023-07-03 12:51:58 +01:00
howvec.c plugins: Copy memory in qemu_plugin_insn_data 2024-05-15 08:55:18 +02:00
hwprofile.c plugins: fix memory leak while parsing options 2023-07-03 12:51:58 +01:00
ips.c contrib/plugins: add Instructions Per Second (IPS) example for cost modeling 2024-06-24 10:15:10 +01:00
lockstep.c contrib/plugins: add compat for g_memdup2 2024-07-30 11:44:21 +01:00
Makefile contrib/plugins: Add a plugin to generate basic block vectors 2024-09-19 15:58:01 +01:00
stoptrigger.c plugins/stoptrigger: TCG plugin to stop execution under conditions 2024-07-22 09:37:56 +01:00
win32_linker.c plugins: make test/example plugins work on windows 2023-11-08 15:15:23 +00:00