Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 2cc35f14ba9d3538aa091cdcf7aab7fdbd8ff0a8
https://github.com/qemu/qemu/commit/2cc35f14ba9d3538aa091cdcf7aab7fdbd8ff0a8
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M plugins/core.c
Log Message:
-----------
plugins/core: clamp syscall arguments if target is 32-bit
Syscall arguments are abi_long in user code, and plugin syscall
interface works with uint64_t only.
According to C integer promotion rules, the value is sign extended
before becoming unsigned, thus setting high bits when only 32-bit lower
ones should have a significant value.
As a result, we need to clamp values we receive from user-code
accordingly.
Reviewed-by: Alex Bennée <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: d16ffa424482a2ac39d60b775f60062b491eb761
https://github.com/qemu/qemu/commit/d16ffa424482a2ac39d60b775f60062b491eb761
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M include/plugins/qemu-plugin.h
M plugins/api.c
M plugins/core.c
Log Message:
-----------
plugins: add flag to specify whether PC is rw
In addition to the flags specifying whether general-purpose registers
are read-write (rw) during a plugin callback, we add an additional flag
explicitly stating whether the PC is writable. This is in preparation of
a patch that allows to explicitly set the PC to divert control flow from
within a plugin callback, which is currently not possible.
Reviewed-by: Alex Bennée <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 9097087147cfc6b3f6412a67e07fd1f63a1ee325
https://github.com/qemu/qemu/commit/9097087147cfc6b3f6412a67e07fd1f63a1ee325
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M linux-user/aarch64/cpu_loop.c
M linux-user/alpha/cpu_loop.c
M linux-user/arm/cpu_loop.c
M linux-user/hexagon/cpu_loop.c
M linux-user/hppa/cpu_loop.c
M linux-user/i386/cpu_loop.c
M linux-user/include/special-errno.h
M linux-user/loongarch64/cpu_loop.c
M linux-user/m68k/cpu_loop.c
M linux-user/microblaze/cpu_loop.c
M linux-user/mips/cpu_loop.c
M linux-user/or1k/cpu_loop.c
M linux-user/ppc/cpu_loop.c
M linux-user/riscv/cpu_loop.c
M linux-user/s390x/cpu_loop.c
M linux-user/sh4/cpu_loop.c
M linux-user/sparc/cpu_loop.c
M linux-user/syscall.c
M linux-user/xtensa/cpu_loop.c
Log Message:
-----------
linux-user: make syscall emulation interruptible
The syscall emulation code previously wasn't interruptible via
cpu_loop_exit(), as this construct relies on a longjmp target that is not
live anymore in the syscall handling code. Consequently, longjmp() would
operate on a (potentially overwritten) stale jump buffer. This patch adds an
additional
setjmp and the necessary handling around it to make longjmp() (and by
proxy cpu_loop_exit() safe to call even within a syscall context.
Reviewed-by: Warner Losh <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 4f55cd78015be1d994d4ec1586ceda05f2034dc5
https://github.com/qemu/qemu/commit/4f55cd78015be1d994d4ec1586ceda05f2034dc5
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M include/plugins/qemu-plugin.h
M plugins/api.c
M scripts/qemu-plugin-symbols.py
Log Message:
-----------
plugins: add PC diversion API function
This patch adds a plugin API function that allows diverting the program
counter during execution. A potential use case for this functionality is
to skip over parts of the code, e.g., by hooking into a specific
instruction and setting the PC to the next instruction in the callback.
Link: https://lists.nongnu.org/archive/html/qemu-devel/2025-08/msg00656.html
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 0b03c73c997a57dbdb9892794c2ad3fd8ef72295
https://github.com/qemu/qemu/commit/0b03c73c997a57dbdb9892794c2ad3fd8ef72295
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M MAINTAINERS
M tests/tcg/arm/Makefile.target
M tests/tcg/hexagon/Makefile.target
M tests/tcg/multiarch/Makefile.target
R tests/tcg/multiarch/check-plugin-output.sh
A tests/tcg/multiarch/plugin/check-plugin-output.sh
A tests/tcg/multiarch/plugin/test-plugin-mem-access.c
A tests/tcg/multiarch/plugin/test-plugin-set-pc.c
R tests/tcg/multiarch/test-plugin-mem-access.c
M tests/tcg/plugins/meson.build
A tests/tcg/plugins/setpc.c
Log Message:
-----------
tests/tcg: add tests for qemu_plugin_set_pc API
The test plugin intercepts execution in different contexts. Without the
plugin, any of the implemented test functions would trigger an assert
and fail. With the plugin, control flow is redirected to skip the assert
and return cleanly via the qemu_plugin_set_pc() API.
Signed-off-by: Florian Hofhammer <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 3ebd871cbdaf044a4cc0dd255d482175524c13c4
https://github.com/qemu/qemu/commit/3ebd871cbdaf044a4cc0dd255d482175524c13c4
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M include/plugins/qemu-plugin.h
M plugins/api.c
Log Message:
-----------
plugins: add read-only property for registers
Some registers should be marked as read-only from a plugin API
perspective, as writing to them via qemu_plugin_write_register has no
effect. This includes the program counter, and we expose this fact to
the plugins with this patch.
Reviewed-by: Alex Bennée <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 55327b85ce32c32572f244e61a6336d2320dc8d7
https://github.com/qemu/qemu/commit/55327b85ce32c32572f244e61a6336d2320dc8d7
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M plugins/api.c
Log Message:
-----------
plugins: prohibit writing to read-only registers
The opaque register handle encodes whether a register is read-only in
the lowest bit and prevents writing to the register via the plugin API
in this case.
Reviewed-by: Alex Bennée <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 9fb1f82794fd61c2bb4d0d933ab03495f43af691
https://github.com/qemu/qemu/commit/9fb1f82794fd61c2bb4d0d933ab03495f43af691
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M tests/tcg/plugins/meson.build
A tests/tcg/plugins/registers.c
Log Message:
-----------
tests/tcg/plugins: test register accesses
The additional plugin tests register accesses, specifically both for
read-only and read-write registers. Writing to a read-only register is
currently not tested, as this would trigger an assertion and fail the
test.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Florian Hofhammer <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 0443c203c445e871549cb8f78a1949240f2a3d67
https://github.com/qemu/qemu/commit/0443c203c445e871549cb8f78a1949240f2a3d67
Author: Florian Hofhammer <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M include/plugins/qemu-plugin.h
Log Message:
-----------
plugins: add missing callbacks to version history
The discontinuity and system call filter callbacks were not reflected in
the versioning comments before. The callbacks have been introduced in
aac73d85d2d6f556dbcee6041a2898cb0ef9b0e6 and
5ed628d1d398b164053f5d5685541ea705275998, respectively.
Signed-off-by: Florian Hofhammer <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 11b01d307b796c94d51ffd7ab7bf488282ca63da
https://github.com/qemu/qemu/commit/11b01d307b796c94d51ffd7ab7bf488282ca63da
Author: Peter Maydell <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M tests/tcg/plugins/mem.c
Log Message:
-----------
tests/tcg/plugins/mem: Don't access unaligned memory
In commit eb3f69cac62670 we removed the dependency of this mem plugin
on the QEMU headers, but in doing that we introduced undefined
behaviour when the plugin accesses unaligned memory. This shows up
if you build with the gcc or clang undefined behaviour sanitizer
(--enable-ubsan) and run 'make check-tcg', in numerous warnings like:
../../tests/tcg/plugins/mem.c:167:27: runtime error: load of misaligned address
0x7f1f300354b1 for type 'uint16_t' (aka 'unsigned short'), which requires 2
byte alignment
0x7f1f300354b1: note: pointer points here
00 00 00 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15
16 17 18 19 1a 1b 1c
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
../../tests/tcg/plugins/mem.c:167:27
Fix this by rearranging the data reads and writes to use
memcpy() instead.
Fixes: eb3f69cac62670 ("tests/tcg/plugins/mem.c: remove dependency on qemu
headers")
Tested-by: Alex Bennée <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: c9bfe4127d60db6b195204dca1caa45f1e638270
https://github.com/qemu/qemu/commit/c9bfe4127d60db6b195204dca1caa45f1e638270
Author: Peter Maydell <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M tests/tcg/plugins/mem.c
Log Message:
-----------
tests/tcg/plugins/mem: Correct hash iteration code in plugin_exit()
In plugin_exit() we call g_hash_table_get_values() to get a GList
which we look at to print some information. This code has
multiple issues:
* it names the local variable for the GList "count", which
shadows the "qemu_plugin_scoreboard *count". This isn't
incorrect, but it is unnecessarily confusing
* it doesn't free the list, and the leak sanitizer complains:
Indirect leak of 2328 byte(s) in 97 object(s) allocated from:
#0 0x5589b0b72293 in malloc
(/home/pm215/qemu/build/x86-tgt-san/qemu-system-i386+0x1a2f293) (BuildId:
26964cad9e3f81d35fc144d7cc88b53adf6f60c7)
#1 0x78fd8cfa1ac9 in g_malloc
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62ac9) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#2 0x78fd8cf96e4a in g_list_prepend
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x57e4a) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#3 0x78fd8cf8b318 in g_hash_table_get_values
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4c318) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#4 0x78fd84d1a90c in plugin_exit
/home/pm215/qemu/build/x86-tgt-san/../../tests/tcg/plugins/mem.c:87:25
* in iterating through the list it updates "count", so by the
time we get to the end of the loop we no longer have a pointer
to the head of the list that we could use to free it
* it checks for the list being NULL twice (once in an if()
and once in the for() loop's "while" condition), which is
redundant
* it skips the loop if g_list_next(counts) is NULL, which means
it will wrongly skip the loop if the list has only one entry
Rewrite the iteration code to fix these problems.
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: aca77dfd90c8a17a2b3526c5cc871cc410357a5f
https://github.com/qemu/qemu/commit/aca77dfd90c8a17a2b3526c5cc871cc410357a5f
Author: Peter Maydell <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M tests/tcg/plugins/patch.c
Log Message:
-----------
tests/tcg/plugins/patch: Free read_data in patch_hwaddr()
In patch_hwaddr() we allocate a GByteArray for the data we read back
from the guest; however we forget to free it, and the leak sanitizer
complains:
Direct leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x56c00ad48293 in malloc
(/home/pm215/qemu/build/x86-tgt-san/qemu-system-x86_64+0x1a9f293) (BuildId:
62e2a7dbe5ff146b2fa14d26e24e443f1967edd9)
#1 0x7b3e4cc91ac9 in g_malloc
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62ac9) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#2 0x7b3e4cc54c12 in g_array_sized_new
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x25c12) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#3 0x7b3e44b06b49 in patch_hwaddr
/home/pm215/qemu/build/x86-tgt-san/../../tests/tcg/plugins/patch.c:68:29
Indirect leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x56c00ad486b0 in realloc
(/home/pm215/qemu/build/x86-tgt-san/qemu-system-x86_64+0x1a9f6b0) (BuildId:
62e2a7dbe5ff146b2fa14d26e24e443f1967edd9)
#1 0x7b3e4cc92819 in g_realloc
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x63819) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#2 0x7b3e4cc54b36 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x25b36)
(BuildId: 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#3 0x7b3e4cc55276 in g_array_set_size
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x26276) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#4 0x7b3e4cc55574 in g_byte_array_set_size
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x26574) (BuildId:
116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)
#5 0x56c00be2ccc1 in qemu_plugin_read_memory_hwaddr
/home/pm215/qemu/build/x86-tgt-san/../../plugins/api.c:524:5
Mark the variable as g_autoptr(), as we already do in the equivalent
code in patch_vaddr().
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 64495d7cfe2d9ce01e4424a5895486783171d935
https://github.com/qemu/qemu/commit/64495d7cfe2d9ce01e4424a5895486783171d935
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M hw/virtio/vhost.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio.c
M include/hw/virtio/virtio-access.h
M include/hw/virtio/virtio.h
Log Message:
-----------
hw/virtio: Add virtio_vdev_is_legacy()
This simplifies code compared to having
virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1) or
!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1).
Acked-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 38155b1f5819aba7b761403d8b04478164e85df9
https://github.com/qemu/qemu/commit/38155b1f5819aba7b761403d8b04478164e85df9
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M include/hw/virtio/virtio-access.h
Log Message:
-----------
hw/virtio: Simplify virtio_access_is_big_endian()
Thanks to previous refactoring, we can see more easily it is strictly
equivalent to always call virtio_vdev_is_big_endian.
static inline bool virtio_vdev_is_big_endian(VirtIODevice *vdev)
{
if (virtio_vdev_is_legacy(vdev)) {
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
return vdev->device_endian == VIRTIO_DEVICE_ENDIAN_BIG;
}
/* Devices conforming to VIRTIO 1.0 or later are always LE. */
return false;
}
The key is to understand that vdev->device_endian is initialized as
expected. It always contains cpu endianness, and not
device endianness, ignoring if device is legacy or not.
By default, it's initialized to vdev->device_endian =
virtio_default_endian(), which matches target default endianness.
Then, on virtio_reset, it will be initialized with current_cpu
endianness (if there is one current_cpu).
void virtio_reset() {
...
if (current_cpu) {
/* Guest initiated reset */
vdev->device_endian = virtio_current_cpu_endian();
} else {
/* System reset */
vdev->device_endian = virtio_default_endian();
}
Now, we can see how existing virtio_access_is_big_endian is equivalent
to virtio_vdev_is_big_endian. Let's break the existing function in its 3
variants, and compare that to virtio_vdev_is_big_endian.
static inline bool virtio_access_is_big_endian(VirtIODevice *vdev)
- #if defined(LEGACY_VIRTIO_IS_BIENDIAN)
return virtio_vdev_is_big_endian(vdev);
This is the exact replacement we did, so equivalent.
- #elif TARGET_BIG_ENDIAN
if (!virtio_vdev_is_legacy(vdev)) {
return false;
}
return true;
we know target_is_big_endian(), so
vdev->device_endian == VIRTIO_DEVICE_ENDIAN_BIG.
if (virtio_vdev_is_legacy(vdev)) {
return VIRTIO_DEVICE_ENDIAN_BIG == VIRTIO_DEVICE_ENDIAN_BIG;
}
return false;
It's written in opposite style compared to existing code (if legacy vs
if modern), but it's strictly equivalent.
- #else
return false;
we know !target_is_big_endian(), so
vdev->device_endian == VIRTIO_DEVICE_ENDIAN_LITTLE.
if virtio_vdev_is_legacy(vdev) {
return VIRTIO_DEVICE_ENDIAN_LITTLE == VIRTIO_DEVICE_ENDIAN_BIG;
}
return false;
So it always return false, as expected.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 93b32a87377b69ebb32d6bbd66121d7e4b92e171
https://github.com/qemu/qemu/commit/93b32a87377b69ebb32d6bbd66121d7e4b92e171
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M hw/virtio/virtio.c
M include/hw/virtio/virtio-access.h
Log Message:
-----------
hw/virtio: Inline virtio_access_is_big_endian()
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Acked-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: c7c15bc178dd87d24cd9f30621167c68626c2e2a
https://github.com/qemu/qemu/commit/c7c15bc178dd87d24cd9f30621167c68626c2e2a
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M hw/virtio/meson.build
M hw/virtio/vhost-user.c
Log Message:
-----------
hw/virtio/vhost-user: make compilation unit common
PPC architectures use a custom value for VHOST_USER_MAX_RAM_SLOTS (32
instead of 512).
vhost_user struct and several functions use VHOST_USER_MAX_RAM_SLOTS to
define stack allocated buffers. To avoid changing all functions to use
heap allocated buffers, we keep this max, and simply add a
target_base_ppc() conditional for the single place where size really
matters.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Tested-by: Philippe Mathieu-Daudé <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 4a0d0cd9429898d8dda7611f7b5e2f0ec769cb02
https://github.com/qemu/qemu/commit/4a0d0cd9429898d8dda7611f7b5e2f0ec769cb02
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M hw/virtio/meson.build
M hw/virtio/virtio-qmp.c
Log Message:
-----------
hw/virtio/virtio-qmp: make compilation unit common
All compile time conditionals have no impact at runtime, since they are
representing only possible features for devices present at runtime.
In case they are not present, associated features table will never be
used. In case they are present but some features are not, matching bits
will never be enabled, so those entries will be unused.
Thus, simply expose everything and call it a day.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Tested-by: Philippe Mathieu-Daudé <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 187adb4ac6493fdbe4404ef1e35b2629a9564d79
https://github.com/qemu/qemu/commit/187adb4ac6493fdbe4404ef1e35b2629a9564d79
Author: Pierrick Bouvier <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M hw/9pfs/meson.build
M hw/block/meson.build
M hw/char/meson.build
M hw/net/meson.build
M hw/scsi/meson.build
M hw/virtio/meson.build
Log Message:
-----------
hw/virtio/: make all compilation units common
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Link:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Pierrick Bouvier <[email protected]>
Commit: 2d3f78269a14a389aefecba28decd16dd5151802
https://github.com/qemu/qemu/commit/2d3f78269a14a389aefecba28decd16dd5151802
Author: Peter Maydell <[email protected]>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M MAINTAINERS
M include/plugins/qemu-plugin.h
M linux-user/aarch64/cpu_loop.c
M linux-user/alpha/cpu_loop.c
M linux-user/arm/cpu_loop.c
M linux-user/hexagon/cpu_loop.c
M linux-user/hppa/cpu_loop.c
M linux-user/i386/cpu_loop.c
M linux-user/include/special-errno.h
M linux-user/loongarch64/cpu_loop.c
M linux-user/m68k/cpu_loop.c
M linux-user/microblaze/cpu_loop.c
M linux-user/mips/cpu_loop.c
M linux-user/or1k/cpu_loop.c
M linux-user/ppc/cpu_loop.c
M linux-user/riscv/cpu_loop.c
M linux-user/s390x/cpu_loop.c
M linux-user/sh4/cpu_loop.c
M linux-user/sparc/cpu_loop.c
M linux-user/syscall.c
M linux-user/xtensa/cpu_loop.c
M plugins/api.c
M plugins/core.c
M scripts/qemu-plugin-symbols.py
M tests/tcg/arm/Makefile.target
M tests/tcg/hexagon/Makefile.target
M tests/tcg/multiarch/Makefile.target
R tests/tcg/multiarch/check-plugin-output.sh
A tests/tcg/multiarch/plugin/check-plugin-output.sh
A tests/tcg/multiarch/plugin/test-plugin-mem-access.c
A tests/tcg/multiarch/plugin/test-plugin-set-pc.c
R tests/tcg/multiarch/test-plugin-mem-access.c
M tests/tcg/plugins/mem.c
M tests/tcg/plugins/meson.build
M tests/tcg/plugins/patch.c
A tests/tcg/plugins/registers.c
A tests/tcg/plugins/setpc.c
Log Message:
-----------
Merge tag 'pr-plugins-20260305' of https://gitlab.com/pbo-linaro/qemu into
staging
Changes:
- [PATCH v7 0/8] Enable PC diversion via the plugin API (Florian Hofhammer
<[email protected]>)
Link:
https://lore.kernel.org/qemu-devel/[email protected]
- [PATCH trivial] plugins: add missing callbacks to version history (Florian
Hofhammer <[email protected]>)
Link:
https://lore.kernel.org/qemu-devel/[email protected]
- [PATCH 0/3] tests/tcg/plugins: Fix sanitizer issues (Peter Maydell
<[email protected]>)
Link:
https://lore.kernel.org/qemu-devel/[email protected]
# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEZrmU7KFPfy5auggff5BUDQoc0A8FAmmp7N8ACgkQf5BUDQoc
# 0A8TfwwAiuLmdRmUIN8Gfd+3ELdamAMb60hXGIh3mV9OqztnYQ3AsmTCvdPqOeq/
# TZePhmDoiPOR7ZyKactGvcF3QmDrqmrcphQOggc8ufQsKM5nLfWIRT/jitVivD0/
# 9HRhEBTQm6QXQmQdkT+AcLJUhyB/WN2dDXajjBIWTjgHmTjPALHT76NmGdhNNhRE
# SPgvXWMucc441C9hbqQOKLBfAxH9v0an2ztgqeb3NlxKcVkBTOMvVcJOLTW7SBNK
# DGxXwc6z9kgp8BhPURKsoBQzDEZajWO6wm+6m11zuCEsuedU/zaH5RKEekjZn/xD
# 5aC7ZfuNpqtT2NGey0b59ehE6Ct6WKLR/dNfh9qgBg6/mmTixi8ozyOntGy700d3
# D2vvuetrPc1RO25Y5Yaa2KOzxq8IQMnxg5cflW+oMsA/Z13VdzC4BoIWOPnyVHOv
# pBLGpe9131iBjfneHDR9ls6WeOzo6ig2xiQ6s0iIUTI8MMnen/u+r6RBlN0IOGTz
# wV2d0/8X
# =pmiX
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Mar 5 20:51:43 2026 GMT
# gpg: using RSA key 66B994ECA14F7F2E5ABA081F7F90540D0A1CD00F
# gpg: Good signature from "Pierrick Bouvier <[email protected]>"
[undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 66B9 94EC A14F 7F2E 5ABA 081F 7F90 540D 0A1C D00F
* tag 'pr-plugins-20260305' of https://gitlab.com/pbo-linaro/qemu:
tests/tcg/plugins/patch: Free read_data in patch_hwaddr()
tests/tcg/plugins/mem: Correct hash iteration code in plugin_exit()
tests/tcg/plugins/mem: Don't access unaligned memory
plugins: add missing callbacks to version history
tests/tcg/plugins: test register accesses
plugins: prohibit writing to read-only registers
plugins: add read-only property for registers
tests/tcg: add tests for qemu_plugin_set_pc API
plugins: add PC diversion API function
linux-user: make syscall emulation interruptible
plugins: add flag to specify whether PC is rw
plugins/core: clamp syscall arguments if target is 32-bit
Signed-off-by: Peter Maydell <[email protected]>
Commit: 2940018747e31842cf34334394c7d32517e73fbd
https://github.com/qemu/qemu/commit/2940018747e31842cf34334394c7d32517e73fbd
Author: Peter Maydell <[email protected]>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M hw/9pfs/meson.build
M hw/block/meson.build
M hw/char/meson.build
M hw/net/meson.build
M hw/scsi/meson.build
M hw/virtio/meson.build
M hw/virtio/vhost-user.c
M hw/virtio/vhost.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio-qmp.c
M hw/virtio/virtio.c
M include/hw/virtio/virtio-access.h
M include/hw/virtio/virtio.h
Log Message:
-----------
Merge tag 'pr-hw_virtio_single_binary-20260305' of
https://gitlab.com/pbo-linaro/qemu into staging
Changes:
- [PATCH v2 0/6] hw/virtio/virtio-access.h: remove target specific code
(=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <[email protected]>)
Link:
https://lore.kernel.org/qemu-devel/[email protected]
# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEZrmU7KFPfy5auggff5BUDQoc0A8FAmmp8GkACgkQf5BUDQoc
# 0A/elwv+JgnJ1yLXP2ZTCB59tGT0TJuvTVf//h13YIxbeGdvfcoTLocCRyGix7pu
# rMbT5gaKBypF/BEqmeF5ST3dRTQ6h4P79eF4e3LILFhgs41kNltgLl6yXx9m1jtg
# g+b3bDX2Jlb9Qhvud72+pfGGUsIcQB68XBpkz9BS+R9Qy/kylvMAtr8MgUHFiwnU
# 5lq1W99DBZZ1kzR9H1jrJGge7s/OcDTA8/Lb6Qje3SYw3HR6yzWL4OXiDNh/UilV
# p4hVXGbDPDrpM7GUVPfU/A5vwVedeXnXdPsXxFqunvbKcCgiuLX8YMNikmBGqyL/
# VrRhQPKvd13o9uVLQH3hVKQA73A0xcyK/NvZVRQh9RoqGbHZKgaAAHl5way8w6ch
# /XPHhBzFxLYlnCGulDczio0vxHX7baxP6eOjD8vyb5v5DU0eoW1hoeQL5s0MPOKK
# ggd1XvJaygcYmxPPqQyg9OgTBxyFSMVd4oQvpo73+kYOvBYTMbspKNxgGegpErra
# fxOkl2Ue
# =EQ+o
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Mar 5 21:06:49 2026 GMT
# gpg: using RSA key 66B994ECA14F7F2E5ABA081F7F90540D0A1CD00F
# gpg: Good signature from "Pierrick Bouvier <[email protected]>"
[undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 66B9 94EC A14F 7F2E 5ABA 081F 7F90 540D 0A1C D00F
* tag 'pr-hw_virtio_single_binary-20260305' of
https://gitlab.com/pbo-linaro/qemu:
hw/virtio/: make all compilation units common
hw/virtio/virtio-qmp: make compilation unit common
hw/virtio/vhost-user: make compilation unit common
hw/virtio: Inline virtio_access_is_big_endian()
hw/virtio: Simplify virtio_access_is_big_endian()
hw/virtio: Add virtio_vdev_is_legacy()
Signed-off-by: Peter Maydell <[email protected]>
Compare: https://github.com/qemu/qemu/compare/7176f5d57439...2940018747e3
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications