Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 094fd7d36f2a7d3c9fb22254888fe7b99b39631b
https://github.com/qemu/qemu/commit/094fd7d36f2a7d3c9fb22254888fe7b99b39631b
Author: Bernhard Beschow <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M docs/system/arm/imx8mp-evk.rst
M hw/arm/Kconfig
M hw/arm/fsl-imx8mp.c
M hw/arm/imx8mp-evk.c
Log Message:
-----------
hw/arm/imx8mp-evk: Add KVM support
Allows the imx8mp-evk machine to run guests with KVM acceleration.
Signed-off-by: Bernhard Beschow <[email protected]>
Message-id: [email protected]
Reviewed-by: Peter Maydell <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Commit: 74bc6caea92de3cf6a6772d0d248a9e26aea2dd3
https://github.com/qemu/qemu/commit/74bc6caea92de3cf6a6772d0d248a9e26aea2dd3
Author: Bernhard Beschow <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M hw/arm/imx8mp-evk.c
Log Message:
-----------
hw/arm/imx8mp-evk: Fix guest time in KVM mode
The imx8mp DTB hardcodes the clock frequency of the system counter to 8MHz.
In KVM mode, the host CPU is used whose system counter runs at a different
frequency, resulting in the guest clock running slower or faster. Fix this
by not hardcoding the clock frequency which makes the Linux driver read
the real clock frequency from the register.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Bernhard Beschow <[email protected]>
Message-id: [email protected]
Signed-off-by: Peter Maydell <[email protected]>
Commit: 5848d2c3a6c4cc1b37234db462b1b36bc0a18bf4
https://github.com/qemu/qemu/commit/5848d2c3a6c4cc1b37234db462b1b36bc0a18bf4
Author: Peter Maydell <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M docs/devel/testing/fuzzing.rst
Log Message:
-----------
docs/devel/testing/fuzzing: Note that you can get qtest to read from a file
It is possible to get qtest to read fuzzer reproducers from a file
rather than directly from stdio; this is useful when you want to run
QEMU under gdb to debug the failure. Document how to do this, which
was previously only written down in the commit message for
5b18a6bf44b9 ("chardev: Allow setting file chardev input file on the
command line").
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Fabiano Rosas <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-id: [email protected]
Commit: 112b55f0b012d00a50befc8e1aa4abe350f00b01
https://github.com/qemu/qemu/commit/112b55f0b012d00a50befc8e1aa4abe350f00b01
Author: Fabiano Rosas <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/options.c
M migration/options.h
M migration/savevm.c
Log Message:
-----------
migration/savevm: Add a compatibility check for capabilities
It has always been possible to enable arbitrary migration capabilities
and attempt to take a snapshot of the VM with the savevm/loadvm
commands as well as their QMP counterparts
snapshot-save/snapshot-load.
Most migration capabilities are not meant to be used with snapshots
and there's a risk of crashing QEMU or producing incorrect
behavior. Ideally, every migration capability would either be
implemented for savevm or explicitly rejected.
Add a compatibility check routine and reject the snapshot command if
an incompatible capability is enabled. For now only act on the the two
that actually cause a crash: multifd and mapped-ram.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2881
Signed-off-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 1a4922a96174c2c4e07d9d4f15bde3500e1520a4
https://github.com/qemu/qemu/commit/1a4922a96174c2c4e07d9d4f15bde3500e1520a4
Author: Steve Sistare <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: update cpr reviewers
Update cpr reviewers. Some of these files overlap with migration
files, but some do not.
Signed-off-by: Steve Sistare <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: e5423828d69e90a8fc9db90d8a0d7cf916370fe0
https://github.com/qemu/qemu/commit/e5423828d69e90a8fc9db90d8a0d7cf916370fe0
Author: Marco Cavenati <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration/ram: fix docs of ram_handle_zero
Remove outdated 'ch' parameter from the function documentation.
Signed-off-by: Marco Cavenati <[email protected]>
Reviewed-by: Juraj Marcin <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 04a191cb36e71f4bb44d28af2b56b9624b36b0a1
https://github.com/qemu/qemu/commit/04a191cb36e71f4bb44d28af2b56b9624b36b0a1
Author: Marco Cavenati <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/channel-block.c
Log Message:
-----------
migration: add FEATURE_SEEKABLE to QIOChannelBlock
Enable the use of the mapped-ram migration feature with savevm/loadvm
snapshots by adding the QIO_CHANNEL_FEATURE_SEEKABLE feature to
QIOChannelBlock. Implement io_preadv and io_pwritev methods to provide
positioned I/O capabilities that don't modify the channel's position
pointer.
Signed-off-by: Marco Cavenati <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 0ecd28582477e80f867ea776eff34315b048d928
https://github.com/qemu/qemu/commit/0ecd28582477e80f867ea776eff34315b048d928
Author: Marco Cavenati <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/options.c
M migration/ram.c
Log Message:
-----------
migration: mapped-ram: handle zero pages
Make mapped-ram compatible with loadvm snapshot restoring by explicitly
zeroing memory pages in this case.
Skip zeroing for -incoming and -loadvm migrations to preserve performance.
Signed-off-by: Marco Cavenati <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 346479c304c712f79e7c378ae4a47ca661d1d563
https://github.com/qemu/qemu/commit/346479c304c712f79e7c378ae4a47ca661d1d563
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M include/migration/cpu.h
Log Message:
-----------
migration: Remove unused VMSTATE_UINTTL_EQUAL[_V]() macros
The last use of VMSTATE_UINTTL_EQUAL() was removed in commit
16a2497bd44 ("target-ppc: Fix CPU migration from qemu-2.6 <->
later versions"), 9 years ago; remove it.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 6f190736bfece55593a07fe0e16195221346fc04
https://github.com/qemu/qemu/commit/6f190736bfece55593a07fe0e16195221346fc04
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/savevm.c
Log Message:
-----------
migration: Fix error leak in postcopy_ram_listen_thread()
As reported and analyzed by Peter:
https://lore.kernel.org/r/cafeaca9otbwtr7rpq0y9abm+7zwjzd4vwpxramgr8xsppn+...@mail.gmail.com
Fix it by freeing the error. When at it, always reset the local_err
pointer in both paths.
Cc: Arun Menon <[email protected]>
Resolves: Coverity CID 1641390
Fixes: 94272d9b45 ("migration: Capture error in postcopy_ram_listen_thread()")
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 6a65fdee8a267436f3f18a35619c854bf255d8c1
https://github.com/qemu/qemu/commit/6a65fdee8a267436f3f18a35619c854bf255d8c1
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M include/migration/cpr.h
M migration/cpr-exec.c
M migration/cpr.c
M migration/migration.c
Log Message:
-----------
migration/cpr: Fix coverity report in cpr_exec_persist_state()
Per reported and analyzed by Peter:
https://lore.kernel.org/r/CAFEAcA_mUQ2NeoguR5efrhw7XYGofnriWEA=+dg+ocvyam1...@mail.gmail.com
mfd leak is a false positive, try to use a coverity annotation (which I
didn't find manual myself, but still give it a shot).
Fix the other one by capture error if setenv() failed. When at it, pass
the error to the top (cpr_state_save()). Along the way, changing all
retval to bool when errp is around.
Resolves: Coverity CID 1641391
Resolves: Coverity CID 1641392
Fixes: efc6587313 ("migration: cpr-exec save and load")
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 89471ef237ca683c90e9e8d216746b86ba4c1013
https://github.com/qemu/qemu/commit/89471ef237ca683c90e9e8d216746b86ba4c1013
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/cpr-exec.c
Log Message:
-----------
migration/cpr: Fix UAF in cpr_exec_cb() when execvp() fails
Per reported and analyzed by Peter:
https://lore.kernel.org/r/CAFEAcA82ih8RVCm-u1oxiS0V2K4rV4jMzNb13pAV=e2ivmi...@mail.gmail.com
Fix the issue by moving the error_setg_errno() earlier. When at it, clear
argv variable after freed.
Resolves: Coverity CID 1641397
Fixes: a3eae205c6 ("migration: cpr-exec mode")
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: ded3cf4aaf7af98f56822566cd96f3014fe5508c
https://github.com/qemu/qemu/commit/ded3cf4aaf7af98f56822566cd96f3014fe5508c
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration/cpr: Avoid crashing QEMU when cpr-exec runs with no args
If an user invokes cpr-exec without setting the exec args first, currently
it'll crash QEMU.
Avoid it, instead fail the QMP migrate command.
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 8922a758b29251d9009ec509e7f580b76509ab3d
https://github.com/qemu/qemu/commit/8922a758b29251d9009ec509e7f580b76509ab3d
Author: Chenyi Qiang <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M system/ram-block-attributes.c
Log Message:
-----------
ram-block-attributes: fix interaction with hugetlb memory backends
Currently, CoCo VMs can perform conversion at the base page granularity,
which is the granularity that has to be tracked. In relevant setups, the
target page size is assumed to be equal to the host page size, thus
fixing the block size to the host page size.
However, since private memory and shared memory have different backend
at present, users can specify shared memory with a hugetlbfs backend
while private memory with guest_memfd backend only supports 4K page
size. In this scenario, ram_block->page_size is different from the host
page size which will trigger an assertion when retrieving the block
size.
To address this, return the host page size directly to relax the
restriction. This changes fixes a regression of using hugetlbfs backend
for shared memory within CoCo VMs, with or without VFIO devices' presence.
Acked-by: David Hildenbrand <[email protected]>
Tested-by: Farrah Chen <[email protected]>
Signed-off-by: Chenyi Qiang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[peterx: fix subject, per david]
Cc: qemu-stable <[email protected]>
Signed-off-by: Peter Xu <[email protected]>
Commit: b2ceb87b1a210d91a29d525590eb164d1121b8a1
https://github.com/qemu/qemu/commit/b2ceb87b1a210d91a29d525590eb164d1121b8a1
Author: Chenyi Qiang <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M system/ram-block-attributes.c
Log Message:
-----------
ram-block-attributes: Unify the retrieval of the block size
There's an existing helper function designed to obtain the block size.
Modify ram_block_attribute_create() to use this function for
consistency.
Tested-by: Farrah Chen <[email protected]>
Signed-off-by: Chenyi Qiang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[peterx: fix double spaces, per david]
Signed-off-by: Peter Xu <[email protected]>
Commit: ae00f0088ffd1e9ee6a84d79dccea1820ce873ac
https://github.com/qemu/qemu/commit/ae00f0088ffd1e9ee6a84d79dccea1820ce873ac
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M qapi/migration.json
Log Message:
-----------
migration/qmp: Update "resume" flag doc in "migrate" command
It wasn't obvious how the resume flag should be used when staring at the
QAPI doc. Enrich it to be crystal clear.
Reported-by: Markus Armbruster <[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[peterx: amended wordings, per markus]
Signed-off-by: Peter Xu <[email protected]>
Commit: c2a06e8f28a14cfb26cc442269176ae60d1178ef
https://github.com/qemu/qemu/commit/c2a06e8f28a14cfb26cc442269176ae60d1178ef
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration-hmp-cmds.c
Log Message:
-----------
migration/cpr: Document obscure usage of g_autofree when parse str
HMP parsing of cpr_exec_command contains an obscure usage of g_autofree.
Provide a document for it to be clear that it's intentional, rather than
memory leaked.
Cc: Dr. David Alan Gilbert <[email protected]>
Reported-by: Peter Maydell <[email protected]>
Reviewed-by: Dr. David Alan Gilbert <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 75e2cb144191ecdbba87cfea3608cdc0664c8142
https://github.com/qemu/qemu/commit/75e2cb144191ecdbba87cfea3608cdc0664c8142
Author: Xiaoyao Li <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M backends/hostmem-shm.c
Log Message:
-----------
hostmem/shm: Allow shm memory backend serve as shared memory for coco-VMs
shm can surely serve as the shared memory for coco-VMs. But currently it
doesn't check the backend->guest_memfd to pass down the RAM_GUEST_MEMFD
flag. It leads to failure when creating coco-VMs (e.g., TDX guest) which
require private mmeory.
Set and pass down RAM_GUEST_MEMFD when backend->guest_memfd is true, to
allow shm memory backend serve as shared memory for coco-VMs.
Cc: Stefano Garzarella <[email protected]>
Cc: qemu-stable <[email protected]>
Signed-off-by: Xiaoyao Li <[email protected]>
Acked-by: David Hildenbrand <[email protected]>
Acked-by: Stefano Garzarella <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 986c3292c6b7dbd12868d06555c82757aaab43b6
https://github.com/qemu/qemu/commit/986c3292c6b7dbd12868d06555c82757aaab43b6
Author: Arun Menon <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M hw/display/virtio-gpu.c
M hw/pci/pci.c
M hw/s390x/virtio-ccw.c
M hw/scsi/spapr_vscsi.c
M hw/virtio/virtio-mmio.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio.c
Log Message:
-----------
migration: Fix regression of passing error_fatal into vmstate_load_state()
error_fatal is passed to vmstate_load_state() and vmstate_save_state()
functions. This was introduced in commit c632ffbd74. This would exit(1)
on error, and therefore does not allow to propagate the error back to
the caller.
To maintain consistency with prior error handling i.e. either propagating
the error to the caller or reporting it, we must set the error within a
local Error object instead of using error_fatal.
Reviewed-by: Cornelia Huck <[email protected]>
Signed-off-by: Arun Menon <[email protected]>
Reviewed-by: Akihiko Odaki <[email protected]>
Link:
https://lore.kernel.org/r/20251028-solve_error_fatal_regression-v2-1-dab24c808...@redhat.com
[peterx: always uninit var ret, per Akihiko]
[peterx: touchups on line ordering, spacings etc.]
Signed-off-by: Peter Xu <[email protected]>
Commit: 74343a438c796cd1e679db94294c666469a8c4a8
https://github.com/qemu/qemu/commit/74343a438c796cd1e679db94294c666469a8c4a8
Author: Bin Guo <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M hw/intc/arm_gicv3_kvm.c
M target/i386/sev.c
Log Message:
-----------
migration: Don't free the reason after calling migrate_add_blocker
Function migrate_add_blocker will free the reason and set it to NULL
if failure is returned.
Signed-off-by: Bin Guo <[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 75a9f080c2195054cd6f37c75615fc4908283051
https://github.com/qemu/qemu/commit/75a9f080c2195054cd6f37c75615fc4908283051
Author: Markus Armbruster <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Use unsigned instead of int for bit set of MigMode
Signed operands in bitwise operations are unwise. I believe they're
safe here, but avoiding them is easy, so let's do that.
Signed-off-by: Markus Armbruster <[email protected]>
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 3ca0a0ab05ca4c96c0e6c9cd39c328ffb068b539
https://github.com/qemu/qemu/commit/3ca0a0ab05ca4c96c0e6c9cd39c328ffb068b539
Author: Markus Armbruster <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M hw/vfio/container-legacy.c
M hw/vfio/cpr-iommufd.c
M hw/vfio/cpr-legacy.c
M hw/vfio/cpr.c
M hw/vfio/device.c
M include/migration/blocker.h
M include/migration/misc.h
M migration/migration.c
M stubs/migr-blocker.c
M system/physmem.c
Log Message:
-----------
migration: Use bitset of MigMode instead of variable arguments
migrate_add_blocker_modes() and migration_add_notifier_modes use
variable arguments for a set of migration modes. The variable
arguments get collected into a bitset for processsing. Take a bitset
argument instead, it's simpler.
Signed-off-by: Markus Armbruster <[email protected]>
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 5777e20718c6e7088b3e1488857b7d7905c36980
https://github.com/qemu/qemu/commit/5777e20718c6e7088b3e1488857b7d7905c36980
Author: Markus Armbruster <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Put Error **errp parameter last
qapi/error.h's big comment:
* - Functions that use Error to report errors have an Error **errp
* parameter. It should be the last parameter, except for functions
* taking variable arguments.
is_only_migratable() and add_blockers() have it in the middle. Clean
them up.
Signed-off-by: Markus Armbruster <[email protected]>
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 1edf0df28409cdf637e5f5ebba515fc63ed4926f
https://github.com/qemu/qemu/commit/1edf0df28409cdf637e5f5ebba515fc63ed4926f
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M include/io/channel.h
M io/channel.c
M migration/qemu-file.c
Log Message:
-----------
io: Add qio_channel_wait_cond() helper
Add the helper to wait for QIO channel's IO availability in any
context (coroutine, or non-coroutine). Use it tree-wide for three
occurences.
Cc: Daniel P. Berrangé <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 604bb1badcade5f49264cf8901c2f3a528df305a
https://github.com/qemu/qemu/commit/604bb1badcade5f49264cf8901c2f3a528df305a
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/channel.c
Log Message:
-----------
migration: Properly wait on G_IO_IN when peeking messages
migration_channel_read_peek() used to do explicit waits of a short period
when peeking message needs retry. Replace it with explicit polls on the io
channel, exactly like what qemu_fill_buffer() does.
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: d4b3a3cc55845685c16d4313ff345c392262d940
https://github.com/qemu/qemu/commit/d4b3a3cc55845685c16d4313ff345c392262d940
Author: Vladimir Sementsov-Ogievskiy <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/vmstate.c
Log Message:
-----------
migration: vmstate_save_state_v(): fix error path
In case of pre_save_errp, on error, we continue processing fields,
unlike case of pre_save, where we return immediately. Behavior
for pre_save_errp case is wrong, we must return here, like for
pre_save.
"migration: Add error-parameterized function variants in VMSD struct"
Fixes: 40de712a89
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Stefan Berger <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 3469a56fa3dc98549d87535a80bb4bddfed44936
https://github.com/qemu/qemu/commit/3469a56fa3dc98549d87535a80bb4bddfed44936
Author: Vladimir Sementsov-Ogievskiy <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M backends/tpm/tpm_emulator.c
Log Message:
-----------
tmp_emulator: improve and fix use of errp
tpm_emulator_post_load() and tpm_emulator_set_state_blobs() has
error paths, where they return negative value, but do not set
errp.
To fix that, we also have to convert several other functions to
set errp instead of error_reporting.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 507685984cf04d216661cfd927773fa53123a0a9
https://github.com/qemu/qemu/commit/507685984cf04d216661cfd927773fa53123a0a9
Author: Vladimir Sementsov-Ogievskiy <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/vmstate.c
Log Message:
-----------
migration/vmstate: stop reporting error number for new _errp APIs
The handlers .pre_load_errp, .post_load_errp and .pre_save_errp
should put all needed information into errp, we should not append
error number here.
Note, that there are some more error messages with numeric
error codes in this file. We leave them for another day, our
current goal is to prepare for the following commit, which will
update interface of _errp() APIs.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 8c3843638cbab2da66d3e9e662c03271d3a9490e
https://github.com/qemu/qemu/commit/8c3843638cbab2da66d3e9e662c03271d3a9490e
Author: Vladimir Sementsov-Ogievskiy <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M backends/tpm/tpm_emulator.c
M docs/devel/migration/main.rst
M include/migration/vmstate.h
M migration/vmstate.c
Log Message:
-----------
migration: vmsd errp handlers: return bool
No code actually depend on specific errno values returned by
vmstate_load_state. The only use of it is to check for success,
and sometimes inject numeric error values into error messages
in migration code. The latter is not a stopper for gradual
conversion to "errp + bool return value" APIs.
Big analysis of vmstate_load_state() callers, showing that
specific errno values are not actually used, is done by Peter
here:
https://lore.kernel.org/qemu-devel/[email protected]/
Converting of vmstate_load_state() itself will follow in
another series.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: ac7a5f1b72734491318e113a3c64cce103fe93b1
https://github.com/qemu/qemu/commit/ac7a5f1b72734491318e113a3c64cce103fe93b1
Author: Thomas Huth <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M scripts/vmstate-static-checker.py
Log Message:
-----------
scripts/vmstate-static-checker: Fix deprecation warnings with latest argparse
The argparse.FileType() type has been deprecated in the latest argparse
version (e.g. the one from Fedora 43), now causing the test_bad_vmstate
functional test to fail since there are unexpected strings in the output.
Change the script to use pathlib.Path instead to fix the test_bad_vmstate
test and to be prepared for the future when the deprecated FileType gets
removed completely.
Reported-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: c0c6a6ac7bd61f862d9c1800129c80dc2a93704e
https://github.com/qemu/qemu/commit/c0c6a6ac7bd61f862d9c1800129c80dc2a93704e
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M system/physmem.c
Log Message:
-----------
system/physmem: mark io_mem_unassigned lockless
When the Bus Master bit is disabled in a PCI device's Command Register,
the device's DMA address space becomes unassigned memory (i.e. the
io_mem_unassigned MemoryRegion).
This can lead to deadlocks with IOThreads since io_mem_unassigned
accesses attempt to acquire the Big QEMU Lock (BQL). For example,
virtio-pci devices deadlock in virtio_write_config() ->
virtio_pci_stop_ioeventfd() when waiting for the IOThread while holding
the BQL. The IOThread is unable to acquire the BQL but the vcpu thread
won't release the BQL while waiting for the IOThread.
io_mem_unassigned is trivially thread-safe since it has no state, it
simply rejects all load/store accesses. Therefore it is safe to enable
lockless I/O on io_mem_unassigned to eliminate this deadlock.
Here is the backtrace described above:
Thread 9 (Thread 0x7fccfcdff6c0 (LWP 247832) "CPU 4/KVM"):
#0 0x00007fcd11529d46 in ppoll () from target:/lib64/libc.so.6
#1 0x000056468a1a9bad in ppoll (__fds=<optimized out>, __nfds=<optimized
out>, __timeout=0x0, __ss=0x0) at /usr/include/bits/poll2.h:88
#2 0x000056468a18f9d9 in fdmon_poll_wait (ctx=0x5646c6a1dc30,
ready_list=0x7fccfcdfb310, timeout=-1) at ../util/fdmon-poll.c:79
#3 0x000056468a18f14f in aio_poll (ctx=<optimized out>,
blocking=blocking@entry=true) at ../util/aio-posix.c:730
#4 0x000056468a1ad842 in aio_wait_bh_oneshot (ctx=<optimized out>,
cb=cb@entry=0x564689faa420 <virtio_blk_ioeventfd_stop_vq_bh>, opaque=<optimized
out>) at ../util/aio-wait.c:85
#5 0x0000564689faaa89 in virtio_blk_stop_ioeventfd (vdev=0x5646c8fd7e90) at
../hw/block/virtio-blk.c:1644
#6 0x0000564689d77880 in virtio_bus_stop_ioeventfd
(bus=bus@entry=0x5646c8fd7e08) at ../hw/virtio/virtio-bus.c:264
#7 0x0000564689d780db in virtio_bus_stop_ioeventfd
(bus=bus@entry=0x5646c8fd7e08) at ../hw/virtio/virtio-bus.c:256
#8 0x0000564689d7d98a in virtio_pci_stop_ioeventfd (proxy=0x5646c8fcf8e0) at
../hw/virtio/virtio-pci.c:413
#9 virtio_write_config (pci_dev=0x5646c8fcf8e0, address=4, val=<optimized
out>, len=<optimized out>) at ../hw/virtio/virtio-pci.c:803
#10 0x0000564689dcb45a in memory_region_write_accessor
(mr=mr@entry=0x5646c6dc2d30, addr=3145732, value=value@entry=0x7fccfcdfb528,
size=size@entry=2, shift=<optimized out>, mask=mask@entry=65535, attrs=...) at
../system/memory.c:491
#11 0x0000564689dcaeb0 in access_with_adjusted_size (addr=addr@entry=3145732,
value=value@entry=0x7fccfcdfb528, size=size@entry=2, access_size_min=<optimized
out>, access_size_max=<optimized out>, access_fn=0x564689dcb3f0
<memory_region_write_accessor>, mr=0x5646c6dc2d30, attrs=...) at
../system/memory.c:567
#12 0x0000564689dcb156 in memory_region_dispatch_write
(mr=mr@entry=0x5646c6dc2d30, addr=addr@entry=3145732, data=<optimized out>,
op=<optimized out>, attrs=attrs@entry=...) at ../system/memory.c:1554
#13 0x0000564689dd389a in flatview_write_continue_step (attrs=...,
attrs@entry=..., buf=buf@entry=0x7fcd05b87028 "", mr_addr=3145732,
l=l@entry=0x7fccfcdfb5f0, mr=0x5646c6dc2d30, len=2) at ../system/physmem.c:3266
#14 0x0000564689dd3adb in flatview_write_continue (fv=0x7fcadc0d8930,
addr=3761242116, attrs=..., ptr=0xe0300004, len=2, mr_addr=<optimized out>,
l=<optimized out>, mr=<optimized out>) at ../system/physmem.c:3296
#15 flatview_write (fv=0x7fcadc0d8930, addr=addr@entry=3761242116,
attrs=attrs@entry=..., buf=buf@entry=0x7fcd05b87028, len=len@entry=2) at
../system/physmem.c:3327
#16 0x0000564689dd7191 in address_space_write (as=0x56468b433600
<address_space_memory>, addr=3761242116, attrs=..., buf=0x7fcd05b87028, len=2)
at ../system/physmem.c:3447
#17 address_space_rw (as=0x56468b433600 <address_space_memory>,
addr=3761242116, attrs=attrs@entry=..., buf=buf@entry=0x7fcd05b87028, len=2,
is_write=<optimized out>) at ../system/physmem.c:3457
#18 0x0000564689ff1ef6 in kvm_cpu_exec (cpu=cpu@entry=0x5646c6dab810) at
../accel/kvm/kvm-all.c:3248
#19 0x0000564689ff32f5 in kvm_vcpu_thread_fn (arg=arg@entry=0x5646c6dab810)
at ../accel/kvm/kvm-accel-ops.c:53
#20 0x000056468a19225c in qemu_thread_start (args=0x5646c6db6190) at
../util/qemu-thread-posix.c:393
#21 0x00007fcd114c5b68 in start_thread () from target:/lib64/libc.so.6
#22 0x00007fcd115364e4 in clone () from target:/lib64/libc.so.6
Thread 3 (Thread 0x7fcd0503a6c0 (LWP 247825) "IO iothread1"):
#0 0x00007fcd114c2d30 in __lll_lock_wait () from target:/lib64/libc.so.6
#1 0x00007fcd114c8fe2 in pthread_mutex_lock@@GLIBC_2.2.5 () from
target:/lib64/libc.so.6
#2 0x000056468a192538 in qemu_mutex_lock_impl (mutex=0x56468b432e60 <bql>,
file=0x56468a1e26a5 "../system/physmem.c", line=3198) at
../util/qemu-thread-posix.c:94
#3 0x0000564689dc12e2 in bql_lock_impl (file=file@entry=0x56468a1e26a5
"../system/physmem.c", line=line@entry=3198) at ../system/cpus.c:566
#4 0x0000564689ddc151 in prepare_mmio_access (mr=0x56468b433800
<io_mem_unassigned>) at ../system/physmem.c:3198
#5 address_space_lduw_internal_cached_slow (cache=<optimized out>, addr=2,
attrs=..., result=0x0, endian=DEVICE_LITTLE_ENDIAN) at
../system/memory_ldst.c.inc:211
#6 address_space_lduw_le_cached_slow (cache=<optimized out>,
addr=addr@entry=2, attrs=attrs@entry=..., result=result@entry=0x0) at
../system/memory_ldst.c.inc:253
#7 0x0000564689fd692c in address_space_lduw_le_cached (result=0x0,
cache=<optimized out>, addr=2, attrs=...) at
/var/tmp/qemu/include/exec/memory_ldst_cached.h.inc:35
#8 lduw_le_phys_cached (cache=<optimized out>, addr=2) at
/var/tmp/qemu/include/exec/memory_ldst_phys.h.inc:66
#9 virtio_lduw_phys_cached (vdev=<optimized out>, cache=<optimized out>,
pa=2) at /var/tmp/qemu/include/hw/virtio/virtio-access.h:166
#10 vring_avail_idx (vq=0x5646c8fe2470) at ../hw/virtio/virtio.c:396
#11 virtio_queue_split_set_notification (vq=0x5646c8fe2470, enable=0) at
../hw/virtio/virtio.c:534
#12 virtio_queue_set_notification (vq=0x5646c8fe2470, enable=0) at
../hw/virtio/virtio.c:595
#13 0x000056468a18e7a8 in poll_set_started (ctx=ctx@entry=0x5646c6c74e30,
ready_list=ready_list@entry=0x7fcd050366a0, started=started@entry=true) at
../util/aio-posix.c:247
#14 0x000056468a18f2bb in poll_set_started (ctx=0x5646c6c74e30,
ready_list=0x7fcd050366a0, started=true) at ../util/aio-posix.c:226
#15 try_poll_mode (ctx=0x5646c6c74e30, ready_list=0x7fcd050366a0,
timeout=<synthetic pointer>) at ../util/aio-posix.c:612
#16 aio_poll (ctx=0x5646c6c74e30, blocking=blocking@entry=true) at
../util/aio-posix.c:689
#17 0x000056468a032c26 in iothread_run (opaque=opaque@entry=0x5646c69f3380)
at ../iothread.c:63
#18 0x000056468a19225c in qemu_thread_start (args=0x5646c6c75410) at
../util/qemu-thread-posix.c:393
#19 0x00007fcd114c5b68 in start_thread () from target:/lib64/libc.so.6
#20 0x00007fcd115364e4 in clone () from target:/lib64/libc.so.6
Buglink: https://issues.redhat.com/browse/RHEL-71933
Reported-by: Peixiu Hou <[email protected]>
Cc: Kevin Wolf <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Signed-off-by: Stefan Hajnoczi <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 1529ec8f5fed0fdeb686c3f235f1b87ff116512e
https://github.com/qemu/qemu/commit/1529ec8f5fed0fdeb686c3f235f1b87ff116512e
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/savevm.c
Log Message:
-----------
migration: Flush migration channel after sending data of CMD_PACKAGED
If the length of the data sent after CMD_PACKAGED is just right, and
there is not much data to send afterward, it is possible part of the
CMD_PACKAGED payload will get left behind in the sending buffer. This
causes the destination side to hang while it tries to load the whole
package and initiate postcopy.
Signed-off-by: Juraj Marcin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 26f65c01edcf046d0dcfaccaa24eb62584510e44
https://github.com/qemu/qemu/commit/26f65c01edcf046d0dcfaccaa24eb62584510e44
Author: Peter Xu <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Do not try to start VM if disk activation fails
If a rare split brain happens (e.g. dest QEMU started running somehow,
taking shared drive locks), src QEMU may not be able to activate the
drives anymore. In this case, src QEMU shouldn't start the VM or it might
crash the block layer later with something like:
Meanwhile, src QEMU cannot try to continue either even if dest QEMU can
release the drive locks (e.g. by QMP "stop"). Because as long as dest QEMU
started running, it means dest QEMU's RAM is the only version that is
consistent with current status of the shared storage.
Reviewed-by: Fabiano Rosas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: c9aac1ae106e58be1c4f714793ee9170f91c5e7d
https://github.com/qemu/qemu/commit/c9aac1ae106e58be1c4f714793ee9170f91c5e7d
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/postcopy-ram.c
M migration/postcopy-ram.h
M migration/savevm.c
Log Message:
-----------
migration: Move postcopy_ram_listen_thread() to postcopy-ram.c
This patch addresses a TODO about moving postcopy_ram_listen_thread() to
postcopy file.
Signed-off-by: Juraj Marcin <[email protected]>
Reviewed-by: Peter Xu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 67474ebacce381e51fa3e9c71af37b68faf4860a
https://github.com/qemu/qemu/commit/67474ebacce381e51fa3e9c71af37b68faf4860a
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
M migration/postcopy-ram.c
M migration/postcopy-ram.h
M migration/savevm.c
Log Message:
-----------
migration: Introduce postcopy incoming setup and cleanup functions
After moving postcopy_ram_listen_thread() to postcopy file, this patch
introduces a pair of functions, postcopy_incoming_setup() and
postcopy_incoming_cleanup(). These functions encapsulate setup and
cleanup of all incoming postcopy resources, postcopy-ram and postcopy
listen thread.
Furthermore, this patch also renames the postcopy_ram_listen_thread to
postcopy_listen_thread, as this thread handles not only postcopy-ram,
but also dirty-bitmaps and in the future it could handle other
postcopiable devices.
Signed-off-by: Juraj Marcin <[email protected]>
Reviewed-by: Peter Xu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 468a7effdefba22ac905297b2aa02b5781587f40
https://github.com/qemu/qemu/commit/468a7effdefba22ac905297b2aa02b5781587f40
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
M migration/migration.h
M migration/postcopy-ram.c
M migration/trace-events
Log Message:
-----------
migration: Refactor all incoming cleanup info migration_incoming_destroy()
Currently, there are two functions that are responsible for calling the
cleanup of the incoming migration state. With successful precopy, it's
the incoming migration coroutine, and with successful postcopy it's the
postcopy listen thread. However, if postcopy fails during in the device
load, both functions will try to do the cleanup.
This patch refactors all cleanup that needs to be done on the incoming
side into a common function and defines a clear boundary, who is
responsible for the cleanup. The incoming migration coroutine is
responsible for calling the cleanup function, unless the listen thread
has been started, in which case the postcopy listen thread runs the
incoming migration cleanup in its BH.
Signed-off-by: Juraj Marcin <[email protected]>
Fixes: 9535435795 ("migration: push Error **errp into qemu_loadvm_state()")
Reviewed-by: Peter Xu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: b1a17a519b20438fb3f8435a2b7fa702f393d075
https://github.com/qemu/qemu/commit/b1a17a519b20438fb3f8435a2b7fa702f393d075
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/postcopy-ram.c
Log Message:
-----------
migration: Respect exit-on-error when migration fails before resuming
When exit-on-error was added to migration, it wasn't added to postcopy.
Even though postcopy migration will usually pause and not fail, in cases
it does unrecoverably fail before destination side has been started,
exit-on-error will allow management to query the error.
Signed-off-by: Juraj Marcin <[email protected]>
Reviewed-by: Peter Xu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 0680dd185b3265a948e1863cdc52c65f72b994d9
https://github.com/qemu/qemu/commit/0680dd185b3265a948e1863cdc52c65f72b994d9
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/postcopy-ram.c
Log Message:
-----------
migration: Make postcopy listen thread joinable
This patch makes the listen thread joinable instead detached, and joins
it alongside other postcopy threads.
Signed-off-by: Juraj Marcin <[email protected]>
Reviewed-by: Peter Xu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 7b842fe354c63feaffc63c850b28c3610a0c90d2
https://github.com/qemu/qemu/commit/7b842fe354c63feaffc63c850b28c3610a0c90d2
Author: Juraj Marcin <[email protected]>
Date: 2025-11-03 (Mon, 03 Nov 2025)
Changed paths:
M migration/migration.c
M migration/migration.h
M migration/postcopy-ram.c
M migration/savevm.c
M migration/savevm.h
M migration/trace-events
M qapi/migration.json
M tests/qemu-iotests/194
M tests/qtest/migration/precopy-tests.c
Log Message:
-----------
migration: Introduce POSTCOPY_DEVICE state
Currently, when postcopy starts, the source VM starts switchover and
sends a package containing the state of all non-postcopiable devices.
When the destination loads this package, the switchover is complete and
the destination VM starts. However, if the device state load fails or
the destination side crashes, the source side is already in
POSTCOPY_ACTIVE state and cannot be recovered, even when it has the most
up-to-date machine state as the destination has not yet started.
This patch introduces a new POSTCOPY_DEVICE state which is active while
the destination machine is loading the device state, is not yet running,
and the source side can be resumed in case of a migration failure.
Return-path is required for this state to function, otherwise it will be
skipped in favor of POSTCOPY_ACTIVE.
To transition from POSTCOPY_DEVICE to POSTCOPY_ACTIVE, the source
side uses a PONG message that is a response to a PING message processed
just before the POSTCOPY_RUN command that starts the destination VM.
Thus, this feature is effective even if the destination side does not
yet support this new state.
Signed-off-by: Juraj Marcin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Peter Xu <[email protected]>
Commit: 9e57131c1e37e699643c3fdd1fc85966e160f599
https://github.com/qemu/qemu/commit/9e57131c1e37e699643c3fdd1fc85966e160f599
Author: Richard Henderson <[email protected]>
Date: 2025-11-04 (Tue, 04 Nov 2025)
Changed paths:
M docs/devel/testing/fuzzing.rst
M docs/system/arm/imx8mp-evk.rst
M hw/arm/Kconfig
M hw/arm/fsl-imx8mp.c
M hw/arm/imx8mp-evk.c
Log Message:
-----------
Merge tag 'pull-target-arm-20251103' of https://gitlab.com/pm215/qemu into
staging
target-arm queue:
* allow KVM accelerator on imx8mp-evk
* docs/devel/testing/fuzzing: Note that you can get qtest to read from a file
# -----BEGIN PGP SIGNATURE-----
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmkIzk0ZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3pn5D/0djVUHCCeDkw8ZrgXYqw3m
# IkdSkA4dmuBPUUnjBT92ZUwuZ6IY7bk14fARC2Y4W01mgB78V+kzoRAeHSJ3Hp2+
# 8fKKDrv0ZCmBV/iqlxpP3j9q7gG91aEsC5dz7xfl1bZmLMaSvOArPbuEZECDTW7z
# vQxQfw9V33TwIzbLy8hLOmgCMxse4BIm8wpKjXAcVNAt0dDc7VGBaLfMCegZ/JYR
# 8+c8XSAITxe9bd5CrVfIOI5pnZ/PBekMAAYRtT/fhJLPGeKZsqH3EZpSOrBS+apv
# dpjtOEUdUbN54v5QkmNaCiX+/Yy4EEo+/0etmNR10LKpDBPPUkLQMWgtF0YUHPyp
# e7Y3iaLqTrd+GQ8JNvjqZteKiI6NEVxZDB+EKf9VyxZ0DACVxrDyZ9Yq8r4RGlib
# ltog0lPxShJW88yhuHajLouMITVj/FQiUSwQ9I4fmzHqTJa0CDC553vivIxXSglG
# BBF3dJ2WcBynkkzfpH751TwAnS/k/QsjR75c2wc8Vx21LAL+MM0RpbMwbk5Wh46Z
# uXKHps2NTyfDX8WfetgS3+FnAeyOfy8pqLpQPOyvep3s24xjW8Vuh6bxpHjyhYxm
# mHN+3ZB2/am2rNADg5WWtqzeRUw4kytoRAPTQyw2t7jWnjebRDHr3eCpPcicXkv5
# zuNSj8Ugiq60jgmRxZAQ9w==
# =Zqu+
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 03 Nov 2025 04:46:21 PM CET
# gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg: issuer "[email protected]"
# gpg: Good signature from "Peter Maydell <[email protected]>" [unknown]
# gpg: aka "Peter Maydell <[email protected]>" [unknown]
# gpg: aka "Peter Maydell <[email protected]>"
[unknown]
# gpg: aka "Peter Maydell <[email protected]>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* tag 'pull-target-arm-20251103' of https://gitlab.com/pm215/qemu:
docs/devel/testing/fuzzing: Note that you can get qtest to read from a file
hw/arm/imx8mp-evk: Fix guest time in KVM mode
hw/arm/imx8mp-evk: Add KVM support
Signed-off-by: Richard Henderson <[email protected]>
Commit: abe80c8ae24cc853b21e9574cf99bf9b97a78bc8
https://github.com/qemu/qemu/commit/abe80c8ae24cc853b21e9574cf99bf9b97a78bc8
Author: Richard Henderson <[email protected]>
Date: 2025-11-04 (Tue, 04 Nov 2025)
Changed paths:
M MAINTAINERS
M backends/hostmem-shm.c
M backends/tpm/tpm_emulator.c
M docs/devel/migration/main.rst
M hw/display/virtio-gpu.c
M hw/intc/arm_gicv3_kvm.c
M hw/pci/pci.c
M hw/s390x/virtio-ccw.c
M hw/scsi/spapr_vscsi.c
M hw/vfio/container-legacy.c
M hw/vfio/cpr-iommufd.c
M hw/vfio/cpr-legacy.c
M hw/vfio/cpr.c
M hw/vfio/device.c
M hw/virtio/virtio-mmio.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio.c
M include/io/channel.h
M include/migration/blocker.h
M include/migration/cpr.h
M include/migration/cpu.h
M include/migration/misc.h
M include/migration/vmstate.h
M io/channel.c
M migration/channel-block.c
M migration/channel.c
M migration/cpr-exec.c
M migration/cpr.c
M migration/migration-hmp-cmds.c
M migration/migration.c
M migration/migration.h
M migration/options.c
M migration/options.h
M migration/postcopy-ram.c
M migration/postcopy-ram.h
M migration/qemu-file.c
M migration/ram.c
M migration/savevm.c
M migration/savevm.h
M migration/trace-events
M migration/vmstate.c
M qapi/migration.json
M scripts/vmstate-static-checker.py
M stubs/migr-blocker.c
M system/physmem.c
M system/ram-block-attributes.c
M target/i386/sev.c
M tests/qemu-iotests/194
M tests/qtest/migration/precopy-tests.c
Log Message:
-----------
Merge tag 'staging-pull-request' of https://gitlab.com/peterx/qemu into
staging
mem + migration pull for 10.2
- Fabiano's patch to fix snapshot crash by rejecting some caps
- Marco's mapped-ram support on snapshot save/load
- Steve's cpr maintainers entry update on retirement
- Peter's coverity fixes
- Chenyi's tdx fix on hugetlbfs regression
- Peter's doc update on migrate resume flag
- Peter's doc update on HMP set parameter for cpr-exec-command's char** parsing
- Xiaoyao's guest-memfd fix for enabling shmem
- Arun's fix on error_fatal regression for migration errors
- Bin's fix on redundant error free for add block failures
- Markus's cleanup around MigMode sets
- Peter's two patches (out of loadvm threadify) to cleanup qio read peek process
- Thomas's vmstate-static-checker update for possible deprecation of argparse
use
- Stefan's fix on windows deadlock by making unassigned MMIOs lockless
# -----BEGIN PGP SIGNATURE-----
#
# iIgEABYKADAWIQS5GE3CDMRX2s990ak7X8zN86vXBgUCaQkZPBIccGV0ZXJ4QHJl
# ZGhhdC5jb20ACgkQO1/MzfOr1wZhTgEA8eCBMpM7PusNSdzzeIygKnIp2A8I70ca
# eIJz3ZM+FiUBAPVDrIZ59EhZA6NPcJb8Ya9OY4lT63F4BxrvN+f+uG4N
# =GUBi
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 03 Nov 2025 10:06:04 PM CET
# gpg: using EDDSA key B9184DC20CC457DACF7DD1A93B5FCCCDF3ABD706
# gpg: issuer "[email protected]"
# gpg: Good signature from "Peter Xu <[email protected]>" [unknown]
# gpg: aka "Peter Xu <[email protected]>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: B918 4DC2 0CC4 57DA CF7D D1A9 3B5F CCCD F3AB D706
* tag 'staging-pull-request' of https://gitlab.com/peterx/qemu: (36 commits)
migration: Introduce POSTCOPY_DEVICE state
migration: Make postcopy listen thread joinable
migration: Respect exit-on-error when migration fails before resuming
migration: Refactor all incoming cleanup info migration_incoming_destroy()
migration: Introduce postcopy incoming setup and cleanup functions
migration: Move postcopy_ram_listen_thread() to postcopy-ram.c
migration: Do not try to start VM if disk activation fails
migration: Flush migration channel after sending data of CMD_PACKAGED
system/physmem: mark io_mem_unassigned lockless
scripts/vmstate-static-checker: Fix deprecation warnings with latest argparse
migration: vmsd errp handlers: return bool
migration/vmstate: stop reporting error number for new _errp APIs
tmp_emulator: improve and fix use of errp
migration: vmstate_save_state_v(): fix error path
migration: Properly wait on G_IO_IN when peeking messages
io: Add qio_channel_wait_cond() helper
migration: Put Error **errp parameter last
migration: Use bitset of MigMode instead of variable arguments
migration: Use unsigned instead of int for bit set of MigMode
migration: Don't free the reason after calling migrate_add_blocker
...
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/e9c692eabbbb...abe80c8ae24c
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications