55c84a72 | 23-Oct-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
contrib/plugins: remove Makefile for contrib/plugins
Now replaced by meson build.
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20241023212812.1376972-4-pierrick.bouvie
contrib/plugins: remove Makefile for contrib/plugins
Now replaced by meson build.
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20241023212812.1376972-4-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
show more ...
|
2181b928 | 23-Oct-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
meson: build contrib/plugins with meson
Tried to unify this meson.build with tests/tcg/plugins/meson.build but the resulting modules are not output in the right directory.
Originally proposed by An
meson: build contrib/plugins with meson
Tried to unify this meson.build with tests/tcg/plugins/meson.build but the resulting modules are not output in the right directory.
Originally proposed by Anton Kochkov, thank you!
Solves: https://gitlab.com/qemu-project/qemu/-/issues/1710 Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20241023212812.1376972-3-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
show more ...
|
44e79489 | 29-Jul-2024 |
Alex Bennée <alex.bennee@linaro.org> |
contrib/plugins: add compat for g_memdup2
We were premature if bumping this because some of our builds are still on older glibs. Just copy the compat handler for now and we can remove it later.
Fix
contrib/plugins: add compat for g_memdup2
We were premature if bumping this because some of our builds are still on older glibs. Just copy the compat handler for now and we can remove it later.
Fixes: ee293103b0 (plugins: update lockstep to use g_memdup2) Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2161 Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240729144414.830369-14-alex.bennee@linaro.org>
show more ...
|
f0220d74 | 29-Jul-2024 |
Alex Bennée <alex.bennee@linaro.org> |
contrib/plugins: be more vocal building
With the conversion to meson and removing the old QEMU Makefile baggage we became very silent when building the plugins. Bring in a copy of the quiet-command
contrib/plugins: be more vocal building
With the conversion to meson and removing the old QEMU Makefile baggage we became very silent when building the plugins. Bring in a copy of the quiet-command logic (and some magic COMMAs) so we can at least assure developers we are building them.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2457 Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240729144414.830369-13-alex.bennee@linaro.org>
show more ...
|
8d073d48 | 18-Jul-2024 |
Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr> |
plugins/execlog.c: correct dump of registers values
Register values are dumped as 'sz' chunks of two nibbles in the execlog plugin, sz was 1 too big.
Signed-off-by: Frédéric Pétrot <frederic.petrot
plugins/execlog.c: correct dump of registers values
Register values are dumped as 'sz' chunks of two nibbles in the execlog plugin, sz was 1 too big.
Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240620083805.73603-1-frederic.petrot@univ-grenoble-alpes.fr> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240718094523.1198645-8-alex.bennee@linaro.org>
show more ...
|
3b8550c9 | 05-Jul-2024 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/lockstep: clean-up output
We were repeating information which wasn't super clear. As we already will have dumped the last failing PC just note the divergence and dump the previous instructio
plugins/lockstep: clean-up output
We were repeating information which wasn't super clear. As we already will have dumped the last failing PC just note the divergence and dump the previous instruction log.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240705084047.857176-27-alex.bennee@linaro.org>
show more ...
|
13167b5f | 05-Jul-2024 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/lockstep: mention the one-insn-per-tb option
This really helps with lockstep although its super slow on big jobs.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-of
plugins/lockstep: mention the one-insn-per-tb option
This really helps with lockstep although its super slow on big jobs.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240705084047.857176-26-alex.bennee@linaro.org>
show more ...
|
5e77f22a | 05-Jul-2024 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/lockstep: make mixed-mode safe
The ExecState is shared across the socket and if we want to compare say 64 bit and 32 bit binaries we need the two to use the same sizes for things.
Reviewed-
plugins/lockstep: make mixed-mode safe
The ExecState is shared across the socket and if we want to compare say 64 bit and 32 bit binaries we need the two to use the same sizes for things.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240705084047.857176-25-alex.bennee@linaro.org>
show more ...
|
c125a8ab | 05-Mar-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
contrib/plugins/howvec: migrate to new per_vcpu API
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvie
contrib/plugins/howvec: migrate to new per_vcpu API
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240304130036.124418-11-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240305121005.3528075-24-alex.bennee@linaro.org>
show more ...
|
af6e4e0a | 27-Feb-2024 |
Alex Bennée <alex.bennee@linaro.org> |
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 do
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>
show more ...
|