Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 1c89dfefc4c33295126208225f202f39b5a234c3
https://github.com/qemu/qemu/commit/1c89dfefc4c33295126208225f202f39b5a234c3
Author: Markus Armbruster <[email protected]>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M backends/cryptodev-lkcf.c
Log Message:
-----------
cryptodev: Fix error handling in cryptodev_lkcf_execute_task()
When cryptodev_lkcf_set_op_desc() fails, we report an error, but
continue anyway. This is wrong. We then pass a non-null @local_error
to various functions, which could easily fail error_setv()'s assertion
on failure.
Fail the function instead.
When qcrypto_akcipher_new() fails, we fail the function without
reporting the error. This leaks the Error object.
Add the missing error reporting. This also frees the Error object.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: zhenwei pi <[email protected]>
Commit: 1dd24ccf829db234e23156c68b013e038040bf94
https://github.com/qemu/qemu/commit/1dd24ccf829db234e23156c68b013e038040bf94
Author: Markus Armbruster <[email protected]>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M net/vmnet-common.m
Log Message:
-----------
error: Strip trailing '\n' from an error string argument
Tracked down with scripts/coccinelle/err-bad-newline.cocci.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Commit: de7b18083bfed4e1a01bb40b4ad050c47d2011fa
https://github.com/qemu/qemu/commit/de7b18083bfed4e1a01bb40b4ad050c47d2011fa
Author: Markus Armbruster <[email protected]>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M hw/xen/xen-bus.c
Log Message:
-----------
hw/xen: Fix xen_bus_realize() error handling
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL. Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.
xen_bus_realize() is wrong that way: it passes &local_err to
xs_node_watch() in a loop. If this fails in more than one iteration,
it can trip error_setv()'s assertion.
Fix by clearing @local_err.
Fixes: c4583c8c394e (xen-bus: reduce scope of backend watch)
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Stefano Stabellini <[email protected]>
Commit: 6121c55db9c972950b28eb9ac84858271579f25c
https://github.com/qemu/qemu/commit/6121c55db9c972950b28eb9ac84858271579f25c
Author: Markus Armbruster <[email protected]>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M hw/xen/xen-bus.c
Log Message:
-----------
hw/xen: Downgrade a xen_bus_realize() non-error to warning
xen_bus_realize() reports a failure to set up a watch as error, but it
doesn't treat it as one: it simply continues. Report a warning
instead.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Stefano Stabellini <[email protected]>
Commit: fb802acdc8b162084e9e60d42aeba79097d14d2b
https://github.com/qemu/qemu/commit/fb802acdc8b162084e9e60d42aeba79097d14d2b
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/ppc/pnv_core.c
M hw/ppc/spapr_cpu_core.c
M hw/ppc/spapr_rtas.c
M target/ppc/cpu.h
M target/ppc/excp_helper.c
Log Message:
-----------
ppc/spapr: Fix RTAS stopped state
This change takes the CPUPPCState 'quiesced' field added for powernv
hardware CPU core controls (used to stop and start cores), and extends
it to spapr to model the "RTAS stopped" state. This prevents the
schedulers attempting to run stopped CPUs unexpectedly, which can cause
hangs and possibly other unexpected behaviour.
The detail of the problematic situation is this:
A KVM spapr guest boots with all secondary CPUs defined to be in the
"RTAS stopped" state. In this state, the CPU is only responsive to the
start-cpu RTAS call. This behaviour is modeled in QEMU with the
start_powered_off feature, which sets ->halted on secondary CPUs at
boot. ->halted=true looks like an idle / sleep / power-save state which
typically is responsive to asynchronous interrupts, but spapr clears
wake-on-interrupt bits in the LPCR SPR. This more-or-less works.
Commit e8291ec16da8 ("target/ppc: fix timebase register reset state")
recently caused the decrementer to expire sooner at boot, causing a
decrementer exception on secondary CPUs in RTAS stopped state. This
was not a problem on TCG, but KVM limits how a guest can modify LPCR, in
particular it prevents the clearing of wake-on-interrupt bits, and so in
the course of CPU register synchronisation, the LPCR as set by spapr to
model the RTAS stopped state is overwritten with KVM's LPCR value, and
that then causes QEMU's interrupt code to notice the expired decrementer
exception, turn that into an interrupt, and set CPU_INTERRUPT_HARD.
That causes the CPU to be kicked, and the KVM vCPU thread to loop
calling kvm_cpu_exec(). kvm_cpu_exec() calls
kvm_arch_process_async_events(), which on ppc just returns ->halted.
This is still true, so it returns immediately with EXCP_HLT, and the
vCPU never goes to sleep because qemu_wait_io_event() sees
CPU_INTERRUPT_HARD is set. All this while the vCPU holds the bql. This
causes the boot CPU to eventually lock up when it needs the bql.
So make 'quiesced' represent the "RTAS stopped" state, and have it
explicitly not respond to exceptions (interrupt conditions) rather than
rely on machine register state to model that state. This matches the
powernv quiesced state very well because it essentially turns off the
CPU core via a side-band control unit.
There are still issues with QEMU and KVM idea of LPCR diverging and that
is quite ugly and fragile that should be fixed. spapr should synchronize
its LPCR properly with KVM, and not try to use values that KVM does not
support.
Reported-by: Misbah Anjum N <[email protected]>
Tested-by: Misbah Anjum N <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: d7ffc17de706e6d0178fcdbc3a7d302f5a246c3c
https://github.com/qemu/qemu/commit/d7ffc17de706e6d0178fcdbc3a7d302f5a246c3c
Author: Bibo Mao <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M target/loongarch/kvm/kvm.c
Log Message:
-----------
target/loongarch: Fix error handling of KVM feature checks
For some paravirt KVM features, if user forces to enable it however
KVM does not support, qemu should fail to run and exit immediately,
rather than continue to run. Here set error message and return directly
in function kvm_arch_init_vcpu().
Fixes: 6edd2a9bec90 (target/loongarch/kvm: Implement LoongArch PMU extension)
Fixes: 936c3f4d7916 (target/loongarch: Use auto method with LSX feature)
Fixes: 5e360dabedb1 (target/loongarch: Use auto method with LASX feature)
Fixes: 620d9bd0022e (target/loongarch: Add paravirt ipi feature detection)
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Commit: 0973b505fadedd208e4c3fa1698ffa0b2293006c
https://github.com/qemu/qemu/commit/0973b505fadedd208e4c3fa1698ffa0b2293006c
Author: Bibo Mao <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/loongarch/virt.c
Log Message:
-----------
hw/loongarch/virt: Eliminate error_propagate()
When there is an error, it is put into a local variable and then
propagated to somewhere else. Instead the error can be set right
away, error propagation can be removed.
Signed-off-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Commit: daf78a9d51402e8f70d89f86a8c5f12d02aee667
https://github.com/qemu/qemu/commit/daf78a9d51402e8f70d89f86a8c5f12d02aee667
Author: Bibo Mao <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M target/loongarch/tcg/tlb_helper.c
Log Message:
-----------
target/loongarch: Remove unnecessary temporary variable assignment
Temporary variable ret is assigned at last line and return, it can
be removed and return directly.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Commit: a725bc970e3091499be8be52798c21259f91b2cd
https://github.com/qemu/qemu/commit/a725bc970e3091499be8be52798c21259f91b2cd
Author: Bibo Mao <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/loongarch/virt.c
Log Message:
-----------
target/loongarch: Clean up virt_cpu_irq_init() error handling
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL. Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.
virt_cpu_irq_init() is wrong that way: it passes &err to
hotplug_handler_plug() twice. If both calls failed, this could trip
error_setv()'s assertion. Moreover, if just one fails, the Error
object leaks. Fortunately, these calls can't actually fail.
Messed up in commit 50ebc3fc47f7 (hw/intc/loongarch_ipi: Notify ipi
object when cpu is plugged) and commit 087a23a87c57
(hw/intc/loongarch_extioi: Use cpu plug notification).
Clean this up by passing &error_abort instead.
Signed-off-by: Bibo Mao <[email protected]>
Acked-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Commit: f88c9cd804804360fa4b3586d7d2f84505ab8c26
https://github.com/qemu/qemu/commit/f88c9cd804804360fa4b3586d7d2f84505ab8c26
Author: Peter Maydell <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/arm/Kconfig
M hw/char/Kconfig
M hw/char/meson.build
Log Message:
-----------
rust: Kconfig: Factor out whether PL011 is Rust or C
Currently every board that uses the PL011 duplicates the logic that
selects the Rust implementation if Rust was enabled and the C
implementation if it does not. Factor this out into a separate
Kconfig stanza, so that boards can go back to simply doing "select
PL011" and get whichever implementation is correct for the build.
This fixes a compilation failure if CONFIG_VMAPPLE is enabled
in a Rust build, because hw/vmapple/Kconfig didn't have the
"pick the Rust PL011 if Rust is enabled" logic in it.
Fixes: 59f4d65584bd33 ("hw/vmapple/vmapple: Add vmapple machine type")
Reported-by: Tanish Desai <[email protected]>
Analyzed-by: Tanish Desai <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: d1368344bc9bb251080507940f2bad16048d2687
https://github.com/qemu/qemu/commit/d1368344bc9bb251080507940f2bad16048d2687
Author: Peter Maydell <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M configs/devices/i386-softmmu/default.mak
M hw/i386/fw_cfg.c
M hw/i386/pc.c
M hw/timer/Kconfig
M hw/timer/meson.build
M rust/hw/timer/Kconfig
M tests/qtest/meson.build
Log Message:
-----------
rust: Kconfig: Factor out whether HPET is Rust or C
Currently we require everywhere that wants to know if there
is an HPET device to check for "CONFIG_HPET || CONFIG_X_HPET_RUST".
Factor out whether the HPET device is Rust or C into a separate
Kconfig stanza, so that CONFIG_HPET means "there is an HPET",
and whether this has pulled in CONFIG_X_HPET_RUST or CONFIG_HPET_C
is something the rest of QEMU can ignore.
Signed-off-by: Peter Maydell <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 033a5649b45690d09bde5cdf15cb83453f6ac811
https://github.com/qemu/qemu/commit/033a5649b45690d09bde5cdf15cb83453f6ac811
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/intc/xive.c
Log Message:
-----------
ppc/xive: Fix typo in crowd block level calculation
I introduced this bug when "tidying" the original patch, not Frederic.
Paper bag for me.
Fixes: 9cb7f6ebed60 ("ppc/xive2: Support group-matching when looking for
target")
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 344921309d933547974c2e85c52e2294513d9c45
https://github.com/qemu/qemu/commit/344921309d933547974c2e85c52e2294513d9c45
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/intc/xive.c
M hw/intc/xive2.c
Log Message:
-----------
pnv/xive: Fix possible undefined shift error in group size calculation
Coverity discovered a potential shift overflow in group size calculation
in the case of a guest error. Add checks and logs to ensure a issues are
caught.
Make the group and crowd error checking code more similar to one another
while here.
Resolves: Coverity CID 1593724
Fixes: 9cb7f6ebed60 ("ppc/xive2: Support group-matching when looking for
target")
Reviewed-by: Cédric Le Goater <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: e0b9357337e4005d7915d8c746eb3ce66c61fac0
https://github.com/qemu/qemu/commit/e0b9357337e4005d7915d8c746eb3ce66c61fac0
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/intc/xive2.c
Log Message:
-----------
ppc/xive2: Fix logical / bitwise comparison typo
The comparison as written is always false (perhaps confusingly, because
the functions/macros are not really booleans but return 0 or the tested
bit value). Change to use logical-and.
Resolves: Coverity CID 1593721
Reviewed-by: Cédric Le Goater <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 965797d19a0d0b5dbe73f1afa110576589d25003
https://github.com/qemu/qemu/commit/965797d19a0d0b5dbe73f1afa110576589d25003
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
ppc/spapr: Fix possible pa_features memory overflow
Coverity reports a possible memory overflow in spapr_dt_pa_features().
This should not be a true bug since DAWR1 cap is only be true for
CPU_POWERPC_LOGICAL_3_10. Add an assertion to ensure any bug there is
caught.
Resolves: Coverity CID 1593722
Fixes: 5f361ea187ba ("ppc: spapr: Enable 2nd DAWR on Power10 pSeries machine")
Reviewed-By: Shivaprasad G Bhat <[email protected]>
Reviewed-by: Cédric Le Goater <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: ce5a32d18054fe468e3536f0a63026d5b196057b
https://github.com/qemu/qemu/commit/ce5a32d18054fe468e3536f0a63026d5b196057b
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/ppc/pnv.c
M hw/ppc/pnv_bmc.c
M hw/ppc/pnv_pnor.c
M include/hw/ppc/pnv_pnor.h
Log Message:
-----------
ppc/pnv: Move the PNOR LPC address into struct PnvPnor
Rather than use the hardcoded define throughout the tree for the
PNOR LPC address, keep it within the PnvPnor object.
This should solve a dead code issue in the BMC HIOMAP checks where
Coverity (correctly) reported that the sanity checks are dead code.
We would like to keep the sanity checks without turning them into a
compile time assert in case we would like to make them configurable
in future.
Fixes: 4c84a0a4a6e5 ("ppc/pnv: Add a PNOR address and size sanity checks")
Resolves: Coverity CID 1593723
Reviewed-by: Cédric Le Goater <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: d8b1c3eaed5cf11d2db702a415df082dc1754b2c
https://github.com/qemu/qemu/commit/d8b1c3eaed5cf11d2db702a415df082dc1754b2c
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/ppc/pnv_occ.c
Log Message:
-----------
ppc/pnv: Fix system symbols in HOMER structure definitions
These definitions were taken from skiboot firmware. I naively thought it
would be nicer to keep the code similar by using the preprocessor, but
it was pointed out that system headers might still use those symbols and
cause something unexpected. Also just nicer to keep the QEMU tree clean.
Cc: "Philippe Mathieu-Daudé" <[email protected]>
Cc: "Stefan Hajnoczi" <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
Fixes: 70bc5c2498f46 ("ppc/pnv: Make HOMER memory a RAM region")
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 7bda68e8e2b0b836639557ddb13d761bdd15a104
https://github.com/qemu/qemu/commit/7bda68e8e2b0b836639557ddb13d761bdd15a104
Author: Paolo Bonzini <[email protected]>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M hw/core/qdev-properties.c
M include/hw/qdev-properties.h
M rust/hw/timer/hpet/src/hpet.rs
Log Message:
-----------
qdev, rust/hpet: fix type of HPET "timers" property
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: ca2737d6eca7fcc62ecb7a27246837b7c18830fc
https://github.com/qemu/qemu/commit/ca2737d6eca7fcc62ecb7a27246837b7c18830fc
Author: Yao Zi <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M host/include/loongarch64/host/atomic128-ldst.h.inc
M host/include/loongarch64/host/bufferiszero.c.inc
M host/include/loongarch64/host/load-extract-al16-al8.h.inc
Log Message:
-----------
host/include/loongarch64: Fix inline assembly compatibility with Clang
Clang on LoongArch only accepts fp register names in the dollar-prefixed
form, while GCC allows omitting the dollar. Change registers in ASM
clobbers to the dollar-prefixed form to make user emulators buildable
with Clang on loongarch64. No functional change invovled.
Cc: [email protected]
Fixes: adc8467e697 ("host/include/loongarch64: Add atomic16 load and store")
Signed-off-by: Yao Zi <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Signed-off-by: Bibo Mao <[email protected]>
Commit: 1267e1ddeb65db5405405adb711272133fe9c670
https://github.com/qemu/qemu/commit/1267e1ddeb65db5405405adb711272133fe9c670
Author: Bibo Mao <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M docs/system/loongarch/virt.rst
A docs/system/target-loongarch.rst
M docs/system/targets.rst
Log Message:
-----------
docs/system: Add entry for LoongArch system
Add index entry for LoongArch system and do some small modification
with LoongArch document with rst syntax.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Commit: b8d5503a3ecf8bcf75e4960d04215f71dbfd5dd2
https://github.com/qemu/qemu/commit/b8d5503a3ecf8bcf75e4960d04215f71dbfd5dd2
Author: Song Gao <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M target/loongarch/internals.h
M target/loongarch/tcg/csr_helper.c
M target/loongarch/tcg/tlb_helper.c
Log Message:
-----------
target/loongarch: fix bad shift in check_ps()
In expression 1ULL << tlb_ps, left shifting by more than 63 bits has
undefined behavior. The shift amount, tlb_ps, is as much as 64. check
"tlb_ps >=64" to fix.
Resolves: Coverity CID 1593475
Fixes: d882c284a3 ("target/loongarch: check tlb_ps")
Suggested-by: Peter Maydell <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Signed-off-by: Bibo Mao <[email protected]>
Commit: 0cb6498b4ce8d0e800e85a43429919c208537405
https://github.com/qemu/qemu/commit/0cb6498b4ce8d0e800e85a43429919c208537405
Author: BALATON Zoltan <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/ppc/amigaone.c
Log Message:
-----------
ppc/amigaone: Check blk_pwrite return value
Coverity reported that return value of blk_pwrite() maybe should not
be ignored. We can't do much if this happens other than report an
error but let's do that to silence this report.
Resolves: Coverity CID 1593725
Signed-off-by: BALATON Zoltan <[email protected]>
Reviewed-by: Nicholas Piggin <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 667413f5bfe3c1c4f082c9534b84e70c1ef3ff3a
https://github.com/qemu/qemu/commit/667413f5bfe3c1c4f082c9534b84e70c1ef3ff3a
Author: BALATON Zoltan <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/ppc/amigaone.c
Log Message:
-----------
ppc/amigaone: Constify default_env
The variable holding default env is not supposed to be written.
Signed-off-by: BALATON Zoltan <[email protected]>
Reviewed-by: Nicholas Piggin <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 1490d0bcdfcb78b4503cae42353d3dd50f4e9d96
https://github.com/qemu/qemu/commit/1490d0bcdfcb78b4503cae42353d3dd50f4e9d96
Author: Harsh Prateek Bora <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
ppc/spapr: fix default cpu for pre-9.0 machines.
When POWER10 CPU was made as default, we missed keeping POWER9 as
default for older pseries releases (pre-9.0) at that time.
This caused breakge in default cpu evaluation for older pseries
machines and hence this fix.
Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to POWER10 CPU")
Cc: [email protected]
Signed-off-by: Harsh Prateek Bora <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 8defe9da08135d03e054f20cb8fea4389be96e18
https://github.com/qemu/qemu/commit/8defe9da08135d03e054f20cb8fea4389be96e18
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M target/ppc/translate/vmx-impl.c.inc
M target/ppc/translate/vsx-impl.c.inc
Log Message:
-----------
target/ppc: Fix facility interrupt checks for VSX
Facility interrupt checks in general should come after the ISA version
check, because the facility interrupt and facility type themselves are
ISA dependent and should not appear on CPUs where the instruction does
not exist at all.
This resolves a QEMU crash booting NetBSD/macppc due to
qemu: fatal: Raised an exception without defined vector 94
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2741
Cc: Chinmay Rath <[email protected]>
Cc: [email protected]
Debugged-by: Richard Henderson <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Fixes: aa0f34ec3fc7 ("target/ppc: implement vrlq")
Fixes: 7419dc5b2b5b ("target/ppc: Move VSX vector storage access insns to
decodetree.")
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 73c0c904fc99e2ceecbbded84ec76d40d3f2daae
https://github.com/qemu/qemu/commit/73c0c904fc99e2ceecbbded84ec76d40d3f2daae
Author: Nicholas Piggin <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M target/ppc/cpu_init.c
Log Message:
-----------
target/ppc: Fix e200 duplicate SPRs
DSRR0/1 registers are in the BookE ISA not e200 specific, so
remove the duplicate e200 register definitions.
Cc: Roman Kapl <[email protected]>
Cc: [email protected]
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2768
Fixes: 0e3bf4890906 ("ppc: add DBCR based debugging")
Signed-off-by: Nicholas Piggin <[email protected]>
Commit: 14fb6dbbc50f43057202c685c3aa017287cca37f
https://github.com/qemu/qemu/commit/14fb6dbbc50f43057202c685c3aa017287cca37f
Author: Michael Tokarev <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M Makefile
Log Message:
-----------
Makefile: "make dist" generates a .xz, not .bz2
Fixes: 9bc9e9511944 (make-release: switch to .xz format by default)
Signed-off-by: Michael Tokarev <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Commit: 94a9471ceb656ad45e86aa07e98d8d0c3b8afe82
https://github.com/qemu/qemu/commit/94a9471ceb656ad45e86aa07e98d8d0c3b8afe82
Author: Laurent Vivier <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M docs/system/devices/net.rst
Log Message:
-----------
docs: Explain how to use passt
Add a chapter to explain how to use passt(1) instead of '-net user'.
passt(1) can be connected to QEMU using UNIX socket or vhost-user.
With vhost-user, migration of the VM is allowed and internal state of
passt(1) is transfered from one side to the other
Bug: https://gitlab.com/qemu-project/qemu/-/issues/2827
Signed-off-by: Laurent Vivier <[email protected]>
Reviewed-by: David Gibson <[email protected]>
Reviewed-by: Stefano Brivio <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>
Commit: a028e04c89ea782f03c78db438239cfb7a47b4e9
https://github.com/qemu/qemu/commit/a028e04c89ea782f03c78db438239cfb7a47b4e9
Author: Akihiko Odaki <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .mailmap
Log Message:
-----------
mailmap: Update email address for Akihiko Odaki
It's too late but better than never.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Michael Tokarev <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>
Commit: 560429fd746adf04b57237c3c4a38ecfd906c592
https://github.com/qemu/qemu/commit/560429fd746adf04b57237c3c4a38ecfd906c592
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/uefi/var-service-core.c
Log Message:
-----------
hw/uefi: flush variable store to disk in post load
Make live migration more robust. Commit 4c0cfc72b31a ("pflash_cfi01:
write flash contents to bdrv on incoming migration") elaborates in
detail on the motivation.
Cc: Peter Krempa <[email protected]>
Reviewed-by: Peter Krempa <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: ae24cf139ba681f8ce3dc809f3f1119b16c73043
https://github.com/qemu/qemu/commit/ae24cf139ba681f8ce3dc809f3f1119b16c73043
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/uefi/var-service-json.c
Log Message:
-----------
hw/uefi: fix error handling in uefi_vars_json_save
Catch lseek errors. Return on errors.
Use autoptr for the GString to simplify cleanup.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: 761d0b5fb7e0f0a6a36c5fc449c6feda2b78af79
https://github.com/qemu/qemu/commit/761d0b5fb7e0f0a6a36c5fc449c6feda2b78af79
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/uefi/var-service-json.c
Log Message:
-----------
hw/uefi: fix error handling in uefi_vars_json_load
Catch lseek errors. Return on read errors.
Fixes: CID 1593154
Fixes: CID 1593157
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: 5807508fad5344706f7d644e4232d065cb1ac2ea
https://github.com/qemu/qemu/commit/5807508fad5344706f7d644e4232d065cb1ac2ea
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/riscv/virt.c
M hw/uefi/Kconfig
Log Message:
-----------
hw/uefi-vars-sysbus: allow for riscv virt
Allow the device being added to riscv virt VMs.
Reviewed-by: Daniel Henrique Barboza <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: e1092f765d9c0bf33762a03fe45e3d0de86c86a6
https://github.com/qemu/qemu/commit/e1092f765d9c0bf33762a03fe45e3d0de86c86a6
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/loongarch/virt.c
M hw/uefi/Kconfig
Log Message:
-----------
hw/uefi-vars-sysbus: allow for loongarch virt
Allow the device being added to loongarch virt VMs.
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: 5e5d18d2ccd674778715f828df80fdddac73bdea
https://github.com/qemu/qemu/commit/5e5d18d2ccd674778715f828df80fdddac73bdea
Author: Gerd Hoffmann <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M docs/interop/firmware.json
Log Message:
-----------
docs/firmware: add feature flag for host uefi variable store
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-ID: <[email protected]>
Commit: 9d116f42a38cb95a33da837e0b0b50d91e28906b
https://github.com/qemu/qemu/commit/9d116f42a38cb95a33da837e0b0b50d91e28906b
Author: Paolo Bonzini <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/assertions.rs
Log Message:
-----------
rust: assertions: add static_assert
Add a new assertion that is similar to "const { assert!(...) }" but can be used
outside functions and with older versions of Rust. A similar macro is found in
Linux, whereas the "static_assertions" crate has a const_assert macro that
produces worse error messages.
Suggested-by: Peter Maydell <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Reviewed-by: Zhao Liu <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 5b87a07e76816ed61e5968eb370859a5901b8516
https://github.com/qemu/qemu/commit/5b87a07e76816ed61e5968eb370859a5901b8516
Author: Peter Maydell <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M include/hw/char/pl011.h
Log Message:
-----------
hw/char/pl011: Pad PL011State struct to same size as Rust impl
We have some users of the PL011 struct which embed it directly into
their own state structs. This means that the Rust version of the
device must have a state struct that is the same size or smaller
than the C struct.
In commit 9b642097d6b7 ("rust: pl011: switch to safe chardev operation")
the Rust PL011 state struct changed from having a bindings::CharBackend
to a chardev::CharBackend, which made it grow larger than the C
version. This results in an assertion at startup when QEMU was
built with Rust enabled:
$ qemu-system-arm -M raspi2b -display none
ERROR:../../qom/object.c:562:object_initialize_with_type: assertion
failed: (size >= type->instance_size)
The long-term better approach to this problem would be to move
our C device code patterns away from "embed a struct" and (back)
to "have a pointer to the device", so we can make the C PL011State
struct a private implementation detail rather than exposed to
its users.
For the short term, add a padding field at the end of the C struct
so it's big enough that the Rust state struct can fit.
Fixes: 9b642097d6b7 ("rust: pl011: switch to safe chardev operation")
Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: cc3d262aa93a42e19c38f6acb6d0f6012a71eb4b
https://github.com/qemu/qemu/commit/cc3d262aa93a42e19c38f6acb6d0f6012a71eb4b
Author: Peter Maydell <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/hw/char/pl011/src/device.rs
M rust/wrapper.h
Log Message:
-----------
rust: pl011: Check size of state struct at compile time
The PL011 device's C implementation exposes its PL011State struct to
users of the device, and one common usage pattern is to embed that
struct into the user's own state struct. (The internals of the
struct are technically visible to the C user of the device, but in
practice are treated as implementation details.)
This means that the Rust version of the state struct must not be
larger than the C version's struct; otherwise it will trip a runtime
assertion in object_initialize_type() when the C user attempts to
in-place initialize the type.
Add a compile-time assertion on the Rust side, so that if we
accidentally make the Rust device state larger we know immediately
that we need to expand the padding in the C version of the struct.
Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 134ab17fffb32a3f86debb4eec9df12f7f833a3b
https://github.com/qemu/qemu/commit/134ab17fffb32a3f86debb4eec9df12f7f833a3b
Author: Paolo Bonzini <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M hw/core/loader.c
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c
M hw/sparc/sun4m.c
M hw/sparc64/sun4u.c
M include/hw/loader.h
Log Message:
-----------
load_aout: replace bswap_needed with big_endian
Targets know whether they are big-endian more than they know if
the endianness is different from the host: the former is mostly
a constant, at least in machine creation code, while the latter
has to be computed with TARGET_BIG_ENDIAN != HOST_BIG_ENDIAN or
something like that.
load_aout, however, takes a "bswap_needed" argument. Replace
it with a "big_endian" argument; even though all users are
big-endian, it is cheap enough to keep the optional swapping
functionality even for little-endian boards.
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: e16354b7f2e70d5ece97854d00141e3df4625cf6
https://github.com/qemu/qemu/commit/e16354b7f2e70d5ece97854d00141e3df4625cf6
Author: Pierrick Bouvier <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bsd-user/elfload.c
M include/exec/cpu-all.h
M include/exec/poison.h
M linux-user/elfload.c
M linux-user/syscall_defs.h
Log Message:
-----------
exec/cpu-all: remove BSWAP_NEEDED
This identifier is poisoned, so it can't be used from common code
anyway. We replace all occurrences with its definition directly.
Signed-off-by: Pierrick Bouvier <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: ea8a7ceba3aafe4de9e7306df663698809e8381a
https://github.com/qemu/qemu/commit/ea8a7ceba3aafe4de9e7306df663698809e8381a
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Remove unnecessary unsafe
Remove the `unsafe` block of vmsd, because vmsd (passed to
vmstate_struct) is defined in Rust side now, and it doesn't need
`unsafe`.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 6ca5c3bedf3265358cf9033577dd30ed865d1cb3
https://github.com/qemu/qemu/commit/6ca5c3bedf3265358cf9033577dd30ed865d1cb3
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix num_offset in vmstate macros
`num_offset` is a member of `VMStateField`, and there's no need to use
"." to access this field in a `VMStateField` instance.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: c3d80af5ecf4f00db4a8d3ac5eca6edc0c9f061e
https://github.com/qemu/qemu/commit/c3d80af5ecf4f00db4a8d3ac5eca6edc0c9f061e
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix num field when varray flags are set
Array type vmstate has the VMStateField with `num` equals its length.
When the varray vmstate is built based a array type, the `num` field
should be cleaned to 0, because varray uses `num_offset` instead of
`num` to store elements number information.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 20797069c71a90582078448b81de28f227a8403b
https://github.com/qemu/qemu/commit/20797069c71a90582078448b81de28f227a8403b
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix size field of VMStateField with VMS_ARRAY_OF_POINTER flag
The `size` field of the VMStateField with VMS_ARRAY_OF_POINTER flag
should stores the size of pointer, which depends on platform.
Currently, `*const`, `*mut`, `NonNull`, `Box<>` and their wrapper are
supported, and they have the same size as `usize`.
Store the size (of `usize`) when VMS_ARRAY_OF_POINTER flag is set.
The size may be changed when more smart pointers are supported, but now
the size of "usize" is enough.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 618258256e6c60957100c5a01ab70f5473020cb9
https://github.com/qemu/qemu/commit/618258256e6c60957100c5a01ab70f5473020cb9
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/assertions.rs
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix type check for varray in vmstate_struct
When pass a varray to vmstate_struct, the `type` parameter should be the
type of the element in the varray, for example:
vmstate_struct!(HPETState, timers, [0 .. num_timers], VMSTATE_HPET_TIMER,
BqlRefCell<HPETTimer>).with_version_id(0)
But this breaks current type check, because it checks the type of
`field`, which is an array type (for the above example, type of timers
is [BqlRefCell<HPETTimer>; 32], not BqlRefCell<HPETTimer>).
But the current assert_field_type() can no longer be extended to include
new arguments, so a variant of it (a second macro containing the
`num = $num:ident` parameter) had to be added to handle array cases.
In this new macro, it not only checks the type of element, but also
checks whether the `num` (number of elements in varray) is out of range.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 42c814b1395c39659270248d205deaaaa47a84f2
https://github.com/qemu/qemu/commit/42c814b1395c39659270248d205deaaaa47a84f2
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix "cannot infer type" error in vmstate_struct
Rust cannot infer the type (it should be VMStateField) after
Zeroable::ZERO, which cause the compiling error.
To fix this error, call with_varray_flag() after VMStateField's
initialization.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: e5655e92a8b984129aed12f24fc50d6e3f63429d
https://github.com/qemu/qemu/commit/e5655e92a8b984129aed12f24fc50d6e3f63429d
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Fix unnecessary VMState bound of with_varray_flag()
The VMState type bound is not used in with_varray_flag().
And for vmstate_struct, Rust cannot infer the type of `num` from the
call_func_with_field(), so this causes the compiling error because it
complains "cannot satisfy `_: VMState`" in with_varray_flag().
Note Rust can infer the type in vmstate_of macro so that
with_varray_flag() can work at there. It is possible that the different
initialization ways in the two macros cause differences in Rust's
type inference.
But in fact, the VMState type bound is not used in with_varray_flag()
and vmstate_varray_flag() has already checked the VMState type, it's
safe to drop VMState bound of with_varray_flag(), which can fix the
above compiling error.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 5006e39cfacbf37e6925239059ae6945e36cf74e
https://github.com/qemu/qemu/commit/5006e39cfacbf37e6925239059ae6945e36cf74e
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Relax array check when build varray in vmstate_struct
The varry of structure created by vmstate_struct is different with
vmstate_of. This is because vmstate_struct uses the `vmsd` to traverse
the vmstates of structure's fields, rather than treating the structure
directly as a well-defined vmstate.
Therefore, there's no need to check array flag when building varray by
vmstate_struct.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 3baf82e0a17bc037c9c564958a8b90814119d738
https://github.com/qemu/qemu/commit/3baf82e0a17bc037c9c564958a8b90814119d738
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Re-implement VMState trait for timer binding
At present, Rust side has a timer binding "timer::Timer", so the vmstate
for timer should base on that binding instead of the raw
"binding::QEMUTimer".
It's possible to apply impl_vmstate_transparent for cell::Opaque and
then impl_vmstate_forward for timer::Timer. But binding::QEMUTimer
shouldn't be used directly, so that vmstate for such raw timer type is
useless.
Thus, apply impl_vmstate_scalar for timer::Timer. And since Opaque<> is
useful, apply impl_vmstate_transparent for cell::Opaque as well.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: b13100372180fdb052aa6bbce663eea0c59e5db4
https://github.com/qemu/qemu/commit/b13100372180fdb052aa6bbce663eea0c59e5db4
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Support vmstate_validate
In C version, VMSTATE_VALIDATE accepts the function pointer, which is
used to check if some conditions of structure could meet, although the
C version macro doesn't accept any structure as the opaque type.
But it's hard to integrate VMSTATE_VALIDAE into vmstate_struct, a new
macro has to be introduced to specifically handle the case corresponding
to VMSTATE_VALIDATE.
One of the difficulties is inferring the type of a callback by its name
`test_fn`. We can't directly use `test_fn` as a parameter of
test_cb_builder__() to get its type "F", because in this way, Rust
compiler will be too conservative on drop check and complain "the
destructor for this type cannot be evaluated in constant functions".
Fortunately, PhantomData<T> could help in this case, because it is
considered to never have a destructor, no matter its field type [*].
The `phantom__()` in the `call_func_with_field` macro provides a good
example of using PhantomData to infer type. So copy this idea and apply
it to the `vmstate_validate` macro.
[*]: https://doc.rust-lang.org/std/ops/trait.Drop.html#drop-check
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 1998502196ad81fde58a48aac2256731bf6d0022
https://github.com/qemu/qemu/commit/1998502196ad81fde58a48aac2256731bf6d0022
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/meson.build
M rust/qemu-api/tests/tests.rs
A rust/qemu-api/tests/vmstate_tests.rs
Log Message:
-----------
rust/vmstate: Add unit test for vmstate_of macro
The vmstate has too many combinations of VMStateFlags and VMStateField.
Currently, the best way to test is to ensure that the Rust vmstate
definition is consistent with the (possibly corresponding) C version.
Add a unit test to cover some patterns accepted by vmstate_of macro,
which correspond to the following C version macros:
* VMSTATE_U16
* VMSTATE_UNUSED
* VMSTATE_VARRAY_UINT16_UNSAFE
* VMSTATE_VARRAY_MULTIPLY
Note: Because vmstate_info_* are defined in vmstate-types.c, it's
necessary to link libmigration to rust unit tests. In the future,
maybe it's possible to spilt libmigration from rust_qemu_api_objs.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 57c327f3a044ebd6da9efda07e4d264996688110
https://github.com/qemu/qemu/commit/57c327f3a044ebd6da9efda07e4d264996688110
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/tests/vmstate_tests.rs
Log Message:
-----------
rust/vmstate: Add unit test for vmstate_{of|struct} macro
Add a unit test to cover some patterns accepted by vmstate_of and
vmstate_struct macros, which correspond to the following C version
macros:
* VMSTATE_BOOL_V
* VMSTATE_U64
* VMSTATE_STRUCT_VARRAY_UINT8
* (no C version) MULTIPLY variant of VMSTATE_STRUCT_VARRAY_UINT32
* VMSTATE_ARRAY
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 8df1b0012aba2501bb1654cb4fbdf1b52ce22222
https://github.com/qemu/qemu/commit/8df1b0012aba2501bb1654cb4fbdf1b52ce22222
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/tests/vmstate_tests.rs
Log Message:
-----------
rust/vmstate: Add unit test for pointer case
Add a unit test to cover some patterns accepted by vmstate_of macro,
which correspond to the following C version macros:
* VMSTATE_POINTER
* VMSTATE_ARRAY_OF_POINTER
Note: Currently, vmstate_struct can't handle the pointer to structure
case. Leave this case as a FIXME and use vmstate_unused as a place
holder.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 9bd7e6f7f2f0f97178fe6884b39f40e686567f52
https://github.com/qemu/qemu/commit/9bd7e6f7f2f0f97178fe6884b39f40e686567f52
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/qemu-api/tests/vmstate_tests.rs
Log Message:
-----------
rust/vmstate: Add unit test for vmstate_validate
Add a unit test for vmstate_validate, which corresponds to the C version
macro: VMSTATE_VALIDATE.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: f7b87e464c8e9d30661fb9f519ed14fb053cd415
https://github.com/qemu/qemu/commit/f7b87e464c8e9d30661fb9f519ed14fb053cd415
Author: Zhao Liu <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/hw/char/pl011/src/device_class.rs
M rust/qemu-api/src/vmstate.rs
Log Message:
-----------
rust/vmstate: Include complete crate path of VMStateFlags in vmstate_clock
The use of "bindings::*" masks incomplete path of VMStateFlags.
Include complete crate path of VMStateFlags in vmstate_clock, and clean
up "bindings::*" in device_class.rs of pl011.
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 64acc23c9793e86f2811345f3c122bf3ece8088b
https://github.com/qemu/qemu/commit/64acc23c9793e86f2811345f3c122bf3ece8088b
Author: Paolo Bonzini <[email protected]>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M rust/hw/timer/hpet/src/hpet.rs
Log Message:
-----------
rust: hpet: fix decoding of timer registers
Due to a missing "& 0x18", timer registers are not decoded correctly.
This breaks the tests/functional/test_x86_64_tuxrun.py functional
test.
Fixes: 519088b7cf6 ("rust: hpet: decode HPET registers into enums", 2025-03-06)
Reported-by: Peter Maydell <[email protected]>
Tested-by: Peter Maydell <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 5eb0849562c9b6988b620493dbea6421e31bfc33
https://github.com/qemu/qemu/commit/5eb0849562c9b6988b620493dbea6421e31bfc33
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M docs/system/loongarch/virt.rst
A docs/system/target-loongarch.rst
M docs/system/targets.rst
M host/include/loongarch64/host/atomic128-ldst.h.inc
M host/include/loongarch64/host/bufferiszero.c.inc
M host/include/loongarch64/host/load-extract-al16-al8.h.inc
M target/loongarch/internals.h
M target/loongarch/tcg/csr_helper.c
M target/loongarch/tcg/tlb_helper.c
Log Message:
-----------
Merge tag 'pull-loongarch-20250321' of https://gitlab.com/bibo-mao/qemu into
staging
loongarch queue
# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQQNhkKjomWfgLCz0aQfewwSUazn0QUCZ9zfpQAKCRAfewwSUazn
# 0VVzAQDtmH3TGh1e5hX/y9g5W733DmUlG1haJ2VNYS+FljXdZQEAkZAe3opRuuoK
# FhXCHiMhCT0+bVfOuZ6sc6pVQb29Ag0=
# =vJ5O
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 20 Mar 2025 23:40:21 EDT
# gpg: using EDDSA key 0D8642A3A2659F80B0B3D1A41F7B0C1251ACE7D1
# gpg: Good signature from "bibo mao <[email protected]>" [unknown]
# 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: 7044 3A00 19C0 E97A 31C7 13C4 8E86 8FB7 A176 9D4C
# Subkey fingerprint: 0D86 42A3 A265 9F80 B0B3 D1A4 1F7B 0C12 51AC E7D1
* tag 'pull-loongarch-20250321' of https://gitlab.com/bibo-mao/qemu:
target/loongarch: fix bad shift in check_ps()
docs/system: Add entry for LoongArch system
host/include/loongarch64: Fix inline assembly compatibility with Clang
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 3907add7a6016401e58e8dbe5b2ddfa06cd1f66a
https://github.com/qemu/qemu/commit/3907add7a6016401e58e8dbe5b2ddfa06cd1f66a
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M hw/intc/xive.c
M hw/intc/xive2.c
M hw/ppc/amigaone.c
M hw/ppc/pnv.c
M hw/ppc/pnv_bmc.c
M hw/ppc/pnv_core.c
M hw/ppc/pnv_occ.c
M hw/ppc/pnv_pnor.c
M hw/ppc/spapr.c
M hw/ppc/spapr_cpu_core.c
M hw/ppc/spapr_rtas.c
M include/hw/ppc/pnv_pnor.h
M target/ppc/cpu.h
M target/ppc/cpu_init.c
M target/ppc/excp_helper.c
M target/ppc/translate/vmx-impl.c.inc
M target/ppc/translate/vsx-impl.c.inc
Log Message:
-----------
Merge tag 'pull-ppc-for-10.0-2-20250321' of https://gitlab.com/npiggin/qemu
into staging
* Fix a KVM SMP guest hang. This is not completely trivial, but just
small enough to merge it. If this causes any more problems, we can
revert it and the timebase patch which exposed the underlying issue
for release.
* Fix a bunch of Coverity issues reported introduced in ppc, mostly in
powernv code.
* Fix a NetBSD boot bug on mac99 caused by VSX/VMX decodetree rewrite.
* Fix the default CPU selection for older spapr machines.
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEETkN92lZhb0MpsKeVZ7MCdqhiHK4FAmfdBbsACgkQZ7MCdqhi
# HK50jxAAi38NfsYBXBFSStwQKTBfbuhjDP2A1wiJVDrcJydQXnZb/xCR+kgRdiZt
# I5roIvD2bsbgHJtnCthLo0fQVGPIohsWUnnR6BlEAVN/gwW+8T+tNhLEZZ402+GK
# bzc4pxqtFitS9m5gyAat2g8bfLEEpEmUr2uAJXnPMDDrzSwtbtlUgPKGXfppsyhp
# P26Ut9M6dmPt+EMdJUTJ4RDOPuj53lXmDnbtpG9sA0zYXlG3sRe7nE9X0iKwXB4g
# Yher/IHSyHVqFe3t9TX9m/DY1EU8fFX/GoShoIMLk8v5Sy1viIsUXpWiIn9O3h1E
# WoAS6HvH3CdcHz3EC1XXSGEjEz2r75kPVvLC/wDy4DmXMxSnadodjGohbUkYs+26
# IV/Y3cnGTE2sPoP+vwmv7UKzBncKzTQO2luLkTQzX+x6XGr1MQPdAIm4WW9KfQVq
# VMS06/oqlQQ8gspAWpNo86P+8/hpFlN42dEE+mzARJkm1JNrO+0yMj8OB/og1o92
# T585TOpPDLm8ZeY8fETpgJ0rR4AKb+5e9KnbmS7XuvIWPK/G7OOt5gF8YXiT9yKw
# R77TPm7Evq6zJ9+TQ4KPBqn4LumphXiBWsSpsVcmZqTTf7nKqii0ZdO8asrtn8oN
# pgJ9AgAlnlCUIn4a/sDJ6k/HhC19IxyfC+y4bgsevwGOmo8H43s=
# =SYBy
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 21 Mar 2025 02:22:51 EDT
# gpg: using RSA key 4E437DDA56616F4329B0A79567B30276A8621CAE
# gpg: Good signature from "Nicholas Piggin <[email protected]>" [unknown]
# 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: 4E43 7DDA 5661 6F43 29B0 A795 67B3 0276 A862 1CAE
* tag 'pull-ppc-for-10.0-2-20250321' of https://gitlab.com/npiggin/qemu:
target/ppc: Fix e200 duplicate SPRs
target/ppc: Fix facility interrupt checks for VSX
ppc/spapr: fix default cpu for pre-9.0 machines.
ppc/amigaone: Constify default_env
ppc/amigaone: Check blk_pwrite return value
ppc/pnv: Fix system symbols in HOMER structure definitions
ppc/pnv: Move the PNOR LPC address into struct PnvPnor
ppc/spapr: Fix possible pa_features memory overflow
ppc/xive2: Fix logical / bitwise comparison typo
pnv/xive: Fix possible undefined shift error in group size calculation
ppc/xive: Fix typo in crowd block level calculation
ppc/spapr: Fix RTAS stopped state
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 330ad56b13bd9794550e2e859ce6cede3e22cbcf
https://github.com/qemu/qemu/commit/330ad56b13bd9794550e2e859ce6cede3e22cbcf
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M .mailmap
M Makefile
M docs/system/devices/net.rst
Log Message:
-----------
Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging
trivial patches for 2025-03-21
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmfdIHgACgkQgqpKJDse
# lHgPChAAmwahVIuN3PQOEZxCYC91vwB7hu1ANCF1C96YIP1A4ybCeglkEtUPLgZn
# Jn7u5xzyOaIG5chlRxrc6mEq/AbYPj3N76rcBpX1XZiCabI7kqkiPShrOXL0FEK/
# +ULGv50D8cPMYHBWKrlgUOXo3LLrXDw4ct0DwdGDSy4O13raN2yAxnmui2KADnfX
# 9jszAspeELWgMXStBqobzMNL2SZy2n0BXBYMGWyrUOrzs0zDmQ0p5z12NwlN+ecg
# vChAF83Rk96rMRJ1Mx9Ewaf5ydAs1OwZk1HQO72+jKabUrJM111w/EJABPJFv9pY
# jhJgbQjUxXFmEdKHWtbrExrSAPOjzRlxG3Z3WDnM+W6zLrI7siDgxNrGbEuDo9ve
# 4DT8ldUuRkr4d1SwUq257RGu+qzTm2WvW7mkraCt+0NAPQNCZ22oZM7E79uKKv81
# 2XNKWr/0uElgUVgb+wOh0IWcCt8PDV4dkM8ivGNFmbP+z7+ckIJtXtWpD7/sHIzb
# zlMyUtbk7iDDqP7IwOiB19alcKHojOTeyXQAs/eZmnR8K0Rh6DaBYs5pMmVgou38
# 746POQteXsf78KzXCBG88WqbbI1cxZH8me9byFB9BRlTTVG/qo90OIzk+/A1x7uv
# 4uiVuzMcBtV3fp6r47V5Ru2HGonZAuaTbzTcWeJJ6rPm23MGNXg=
# =nng2
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 21 Mar 2025 04:16:56 EDT
# gpg: using RSA key 64AA2AB531D56903366BFEF982AA4A243B1E9478
# gpg: Good signature from "Michael Tokarev <[email protected]>" [unknown]
# gpg: aka "Michael Tokarev <[email protected]>" [unknown]
# gpg: aka "Michael Tokarev <[email protected]>" [unknown]
# 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: 9D8B E14E 3F2A 9DD7 9199 28F1 61AD 3D98 ECDF 2C8E
# Subkey fingerprint: 64AA 2AB5 31D5 6903 366B FEF9 82AA 4A24 3B1E 9478
* tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu:
mailmap: Update email address for Akihiko Odaki
docs: Explain how to use passt
Makefile: "make dist" generates a .xz, not .bz2
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: c1fc2dd7892048e3ee70cc915db4aa6e5d007bab
https://github.com/qemu/qemu/commit/c1fc2dd7892048e3ee70cc915db4aa6e5d007bab
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M docs/interop/firmware.json
M hw/loongarch/virt.c
M hw/riscv/virt.c
M hw/uefi/Kconfig
M hw/uefi/var-service-core.c
M hw/uefi/var-service-json.c
Log Message:
-----------
Merge tag 'uefi-20250321-pull-request' of https://gitlab.com/kraxel/qemu into
staging
hw/uefi-vars: bug fixes
hw/uefi-vars: support riscv and loongarch
docs: update firmware.json spec
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEoDKM/7k6F6eZAf59TLbY7tPocTgFAmfdXR0ACgkQTLbY7tPo
# cThurBAA2xXMSS5HxU+8kAgkQQ5UC0c9cSQj//HJB5dAmsZ/I8WEgwv1+XLGnjf0
# SOpAiR0PshTipXdtcUVGpqufAghy+8WkAoYplMqY40o/Bsv8egQzb4XvNPSxqvon
# dTDmScn2ns1mtSOOY8LWSFIXFDlYK0uKyXcHSKvw/HNjYsVOb22IAokznyh9eZa0
# OwjhUc9oqTR0s8MrZbu+tKqEfoqGRMIDYVKk1vzjAigw6jfgvaUZ0dtldcwTktsH
# w7SyMowUJnNcjnzZxqchj94377feS4OG/QKO7LpnhfdYYHf7CT1BC72xG1Ivloma
# A3xK/AnFqbzYuwL3Mtmuk5xV5s98dP/dWvxTc7kZFT++fJ4bljnRhcyqckvWwHD5
# jYjm8ssAn2ukuVDM+O7+tRNMcyBXYc1pgmQCa10XjT0Ds0WulIynITwoguolvCPv
# rH/ILe8N2vXa7xxB7DledPMzX74+SWXaHv4n+SKEHoVlSiaP3M85ZNcSYjXf9P37
# hrMyUWgjO0AXJ2aDaCSn9nLJT8jRMcYh9HN03Y7KmyT0SZnksbHvPLF0kB1zFNfa
# NBQZUhZacu7iZoNpHx3uT+D1z9GM16S2skkxvryMrS/05iM6amc2kCJPxOp2vbYc
# eiyihjFHtW/dfhRmOG92EJ1FRMLx/dB/dBG90oGmTyHMlev6tEQ=
# =VN7r
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 21 Mar 2025 08:35:41 EDT
# gpg: using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <[email protected]>" [full]
# gpg: aka "Gerd Hoffmann <[email protected]>" [full]
# gpg: aka "Gerd Hoffmann (private) <[email protected]>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* tag 'uefi-20250321-pull-request' of https://gitlab.com/kraxel/qemu:
docs/firmware: add feature flag for host uefi variable store
hw/uefi-vars-sysbus: allow for loongarch virt
hw/uefi-vars-sysbus: allow for riscv virt
hw/uefi: fix error handling in uefi_vars_json_load
hw/uefi: fix error handling in uefi_vars_json_save
hw/uefi: flush variable store to disk in post load
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: cea9dfbc48607340a617be5372088d81fa79f41c
https://github.com/qemu/qemu/commit/cea9dfbc48607340a617be5372088d81fa79f41c
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M backends/cryptodev-lkcf.c
M hw/loongarch/virt.c
M hw/xen/xen-bus.c
M net/vmnet-common.m
M target/loongarch/kvm/kvm.c
M target/loongarch/tcg/tlb_helper.c
Log Message:
-----------
Merge tag 'pull-error-2025-03-21' of https://repo.or.cz/qemu/armbru into
staging
Error reporting patches for 2025-03-21
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmfdeWkSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTeigQAJicOKRQPm5qCn/XP70k6OuvTXsU8Fw/
# FVXE3I1lE9MnUDVHe9RgY79piS7oQ/pR92QcPxTx/Kj22gSiFBgrH5q0bURZAOxR
# /85DTxjVGuz3pAMhfXZ3rRyJGhX4MgPmYYXkvOyrz0cpHMR3DN9helIfdVfVtWAh
# VTVEH2PKdd9I56gbi9irlfdeh/+Nb2+1swBbtpUWFthDPj7Cib+gHsrJQbRX7qSf
# 0eEGVgqydfAuSLbMnD6SwCXbuJQ/mHg5+71QmSJFqthRzLHqXuUk6m6n8EXTgE6D
# MEdwkhSZ6ksNEWkzBvv3lfO8WnAqH0jp+xkuDTJabJzZG17pC61B2HQRsrFxZxqU
# Ftr4XDPccDc9ohX0GYwCpvfW2Y8ZLzjurc04dpSPoqIBZxAPySirWOmTbT7I6MFF
# EVt4VdjwXi0jSLWeH0yq6NmpSiKDxC6kY78xvAx6Pr9QQWtCeH/sQKXQ+16IqqTf
# aeM4zXUs8cWD+QULqkxp7aHJPg91zU+BQGopkmMCpCNGwnzJPajfJgCDsWHnn47z
# jiuOISWS650bUL6D4GgC1l2pYVPqt3ybF6DZL0giDE6NPpIich/KA1SSVXDy3bVK
# AGRMczC40GHvlDFKkLI0j5HM1HY8aYdn44skY28R/+SzyV0463u5oljcYmDe7oWC
# iLtinF/DKCDa
# =FJPm
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 21 Mar 2025 10:36:25 EDT
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "[email protected]"
# gpg: Good signature from "Markus Armbruster <[email protected]>" [full]
# gpg: aka "Markus Armbruster <[email protected]>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* tag 'pull-error-2025-03-21' of https://repo.or.cz/qemu/armbru:
target/loongarch: Clean up virt_cpu_irq_init() error handling
target/loongarch: Remove unnecessary temporary variable assignment
hw/loongarch/virt: Eliminate error_propagate()
target/loongarch: Fix error handling of KVM feature checks
hw/xen: Downgrade a xen_bus_realize() non-error to warning
hw/xen: Fix xen_bus_realize() error handling
error: Strip trailing '\n' from an error string argument
cryptodev: Fix error handling in cryptodev_lkcf_execute_task()
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 71119ed3651622e1c531d1294839e9f3341adaf5
https://github.com/qemu/qemu/commit/71119ed3651622e1c531d1294839e9f3341adaf5
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M bsd-user/elfload.c
M configs/devices/i386-softmmu/default.mak
M hw/arm/Kconfig
M hw/char/Kconfig
M hw/char/meson.build
M hw/core/loader.c
M hw/core/qdev-properties.c
M hw/i386/fw_cfg.c
M hw/i386/pc.c
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c
M hw/sparc/sun4m.c
M hw/sparc64/sun4u.c
M hw/timer/Kconfig
M hw/timer/meson.build
M include/exec/cpu-all.h
M include/exec/poison.h
M include/hw/char/pl011.h
M include/hw/loader.h
M include/hw/qdev-properties.h
M linux-user/elfload.c
M linux-user/syscall_defs.h
M rust/hw/char/pl011/src/device.rs
M rust/hw/char/pl011/src/device_class.rs
M rust/hw/timer/Kconfig
M rust/hw/timer/hpet/src/hpet.rs
M rust/qemu-api/meson.build
M rust/qemu-api/src/assertions.rs
M rust/qemu-api/src/vmstate.rs
M rust/qemu-api/tests/tests.rs
A rust/qemu-api/tests/vmstate_tests.rs
M rust/wrapper.h
M tests/qtest/meson.build
Log Message:
-----------
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* exec/cpu-all: remove BSWAP_NEEDED
* pl011: pad C PL011State struct to same size as Rust struct
* rust: hpet: fix type of "timers" property
* rust: hpet: fix functional tests (and really everything that uses it)
* rust: Kconfig: Factor out whether devices are Rust or C
* rust: vmstate: Fixes and tests
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmfdsUsUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOGpwf/Qk4bAcLX7A1/nOmYT+DtWzZ9V/VS
# hSOe6BruzW8rzwMyn/d7oR+aUpk3sL+v2iPBWqoZ/wh0w8kcABcUfWsqqGI8ln/K
# pnTdiC+hra5z0AFH1tmjjtOI50WDOeSjh5SFvoPJtGzhEbo89QvsUWgy98HiHOMm
# YFPDuhg3Pfd1XDcdoaa85sOHO1vDsj45fCEJhx6Ktib4vOlEm2I4Z9YR/JxNMT33
# vy/y09HG4cpc6bWKLPL3nqR9RchUSI+YRDZ8rlaXUowiZzH2K/wi0qJOsvG6oJF5
# awni0YWuwyFi16jmUub8NFnWk6NKjbACqw74AwoVPbNbDoCrrogXzIF2Lw==
# =NzCN
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 21 Mar 2025 14:34:51 EDT
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "[email protected]"
# gpg: Good signature from "Paolo Bonzini <[email protected]>" [full]
# gpg: aka "Paolo Bonzini <[email protected]>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83
* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (24 commits)
rust: hpet: fix decoding of timer registers
rust/vmstate: Include complete crate path of VMStateFlags in vmstate_clock
rust/vmstate: Add unit test for vmstate_validate
rust/vmstate: Add unit test for pointer case
rust/vmstate: Add unit test for vmstate_{of|struct} macro
rust/vmstate: Add unit test for vmstate_of macro
rust/vmstate: Support vmstate_validate
rust/vmstate: Re-implement VMState trait for timer binding
rust/vmstate: Relax array check when build varray in vmstate_struct
rust/vmstate: Fix unnecessary VMState bound of with_varray_flag()
rust/vmstate: Fix "cannot infer type" error in vmstate_struct
rust/vmstate: Fix type check for varray in vmstate_struct
rust/vmstate: Fix size field of VMStateField with VMS_ARRAY_OF_POINTER flag
rust/vmstate: Fix num field when varray flags are set
rust/vmstate: Fix num_offset in vmstate macros
rust/vmstate: Remove unnecessary unsafe
exec/cpu-all: remove BSWAP_NEEDED
load_aout: replace bswap_needed with big_endian
rust: pl011: Check size of state struct at compile time
hw/char/pl011: Pad PL011State struct to same size as Rust impl
...
Signed-off-by: Stefan Hajnoczi <[email protected]>
Compare: https://github.com/qemu/qemu/compare/527dede083d3...71119ed36516
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications