Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: fcbe1080a4cb16767cdda788504f9793cbbe0532
https://github.com/qemu/qemu/commit/fcbe1080a4cb16767cdda788504f9793cbbe0532
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M docs/devel/build-system.rst
M docs/devel/rust.rst
M docs/system/devices/igb.rst
Log Message:
-----------
docs: use the pyvenv version of Meson
The version in the system might be too old for QEMU; this will be
especially true if Rust is going to be enabled by default.
Adjust the docs to suggest using pyvenv/bin/meson, which is in fact
what the "make" wrappers will be running internally.
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: b9e8bb6637d5f2926121d68e4f227ba0e0a44186
https://github.com/qemu/qemu/commit/b9e8bb6637d5f2926121d68e4f227ba0e0a44186
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/common/meson.build
M rust/util/meson.build
Log Message:
-----------
rust: build: add back common and util tests
These were dropped by mistake when extracting the crates.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 75dbe618ac3895b2889a590de3bc589bf32dc999
https://github.com/qemu/qemu/commit/75dbe618ac3895b2889a590de3bc589bf32dc999
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/migration/src/vmstate.rs
Log Message:
-----------
rust: vmstate: use "cast()" instead of "as"
Reported by clippy, fix it.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: f87a2e5c596620a606aaa7df4257c45c4988e160
https://github.com/qemu/qemu/commit/f87a2e5c596620a606aaa7df4257c45c4988e160
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/bql/meson.build
M rust/common/meson.build
M rust/migration/meson.build
M rust/qom/meson.build
M rust/util/meson.build
Log Message:
-----------
rust: build: remove "protocol: rust: from doctests
It is added already by rust.doctest.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 193f2ab6e076f0f3d07081802bee2d36eb86086f
https://github.com/qemu/qemu/commit/193f2ab6e076f0f3d07081802bee2d36eb86086f
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/meson.build
M rust/qemu-macros/Cargo.toml
M rust/qemu-macros/meson.build
M scripts/archive-source.sh
M scripts/make-release
M subprojects/.gitignore
A subprojects/attrs-0.2-rs.wrap
A subprojects/packagefiles/attrs-0.2-rs/meson.build
Log Message:
-----------
subprojects: add attrs crate
The attrs crate is a simple combinator-based for Rust attributes. It
will be used instead of a handwritten parser.
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 60c96a8775c163383043d4ece6065dcb8f940856
https://github.com/qemu/qemu/commit/60c96a8775c163383043d4ece6065dcb8f940856
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/Cargo.lock
M rust/qemu-macros/src/lib.rs
M rust/qemu-macros/src/tests.rs
Log Message:
-----------
rust: qemu-macros: switch #[property] parsing to use combinators
Since we are going to add more attribute parsing for high-level migration
state macros, use the attrs crate instead of a handwritten parser for
device properties as well.
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: a530a8d4ac39d04dc0095b1cdb88867146445706
https://github.com/qemu/qemu/commit/a530a8d4ac39d04dc0095b1cdb88867146445706
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M subprojects/.gitignore
Log Message:
-----------
subprojects: Update .gitignore for proc-macro2 and syn
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: d935f0b8e17153e1dcfe93e7660bfd07693b513e
https://github.com/qemu/qemu/commit/d935f0b8e17153e1dcfe93e7660bfd07693b513e
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M subprojects/.gitignore
Log Message:
-----------
subprojects: Ignore .wraplock file generated by meson v1.9.0
The .wraplock file is automatically generated by meson v1.9.0 (the
related issue: https://github.com/mesonbuild/meson/issues/14948).
Ignore it for now.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 1bbac0ca88cdfd6ac019685a855c92831e3862e3
https://github.com/qemu/qemu/commit/1bbac0ca88cdfd6ac019685a855c92831e3862e3
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/qemu-macros/src/lib.rs
Log Message:
-----------
rust/qemu-macros: Fix Clippy's complaints about lambda parameter naming
error: `rename` shadows a previous, unrelated binding
--> qemu-macros/src/lib.rs:265:14
|
265 | |rename| -> Result<proc_macro2::TokenStream, Error> {
| ^^^^^^
|
note: previous binding is here
--> qemu-macros/src/lib.rs:245:30
|
245 | let DeviceProperty { rename, defval } = prop;
| ^^^^^^
= help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#shadow_unrelated
= note: requested on the command line with `-D clippy::shadow-unrelated`
Rename the lambda parameter to "prop_rename" to fix the above clippy
error.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 35d7735f765adc4cf759b8ad221e8858ca5be9c5
https://github.com/qemu/qemu/commit/35d7735f765adc4cf759b8ad221e8858ca5be9c5
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/common/src/uninit.rs
Log Message:
-----------
rust/common/uninit: Fix Clippy's complaints about lifetime
Clippy complains about the following cases and following its suggestion
to fix these warnings.
warning: the following explicit lifetimes could be elided: 'a
--> common/src/uninit.rs:38:6
|
38 | impl<'a, T, U> Deref for MaybeUninitField<'a, T, U> {
| ^^ ^^
|
= help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
= note: `#[warn(clippy::needless_lifetimes)]` on by default
help: elide the lifetimes
|
38 - impl<'a, T, U> Deref for MaybeUninitField<'a, T, U> {
38 + impl<T, U> Deref for MaybeUninitField<'_, T, U> {
|
warning: the following explicit lifetimes could be elided: 'a
--> common/src/uninit.rs:49:6
|
49 | impl<'a, T, U> DerefMut for MaybeUninitField<'a, T, U> {
| ^^ ^^
|
= help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
49 - impl<'a, T, U> DerefMut for MaybeUninitField<'a, T, U> {
49 + impl<T, U> DerefMut for MaybeUninitField<'_, T, U> {
|
warning: `common` (lib) generated 2 warnings (run `cargo clippy --fix --lib -p
common` to apply 2 suggestions)
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 51d736cd71a6515808b705010ec7e38695cb7a01
https://github.com/qemu/qemu/commit/51d736cd71a6515808b705010ec7e38695cb7a01
Author: Manos Pitsidianakis <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/core/src/qdev.rs
Log Message:
-----------
rust/qdev: use addr_of! in QDevProp
We want a &raw pointer, so unsafe { &_ } is not needed.
Suggested-by: Zhao Liu <[email protected]>
Signed-off-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: bed2a37b2096e1d002f3b8e881c0f6eff863ff14
https://github.com/qemu/qemu/commit/bed2a37b2096e1d002f3b8e881c0f6eff863ff14
Author: Manos Pitsidianakis <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/core/src/qdev.rs
Log Message:
-----------
rust/qdev: Refine the documentation for QDevProp trait
Refine the documentation to clarify:
* `unsfae` requires that `VALUE` must be valid.
* using `*const` instead of `&` because the latter will cause compiler
error.
Signed-off-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: b4221e88a9a497c3d72c4dfad1bcc12468f3fd01
https://github.com/qemu/qemu/commit/b4221e88a9a497c3d72c4dfad1bcc12468f3fd01
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/core/src/qdev.rs
Log Message:
-----------
rust/qdev: Support property info for more common types
Add a helper macro to implement QDevProp trait for u8/u16/u32/usize/i32
/i64.
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 9686aa9a05d9ef25c13ddc0af0123e2fc569b0ac
https://github.com/qemu/qemu/commit/9686aa9a05d9ef25c13ddc0af0123e2fc569b0ac
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/core/src/qdev.rs
M rust/qemu-macros/src/lib.rs
M rust/qemu-macros/src/tests.rs
Log Message:
-----------
rust/qdev: Support bit property in #property macro
Add BIT_INFO to QDevProp trait, so that bit related property info could
be bound to u32 & u64.
Then add "bit=*" field in #property attributes macro to allow device to
configure bit property.
In addtion, convert the #property field parsing from `if-else` pattern
to `match` pattern, to help readability. And note, the `bitnr` member of
`Property` struct is generated by manual TokenStream construction,
instead of conditional repetition (like #(bitnr: #bitnr,)?) since
`quote` doesn't support this.
In addtion, rename VALUE member of QDevProp trait to BASE_INFO.
And update the test cases about qdev property.
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: a8f080215f79d211c4be0f896ad5f32dbc3b7c03
https://github.com/qemu/qemu/commit/a8f080215f79d211c4be0f896ad5f32dbc3b7c03
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/qemu-macros/src/tests.rs
Log Message:
-----------
rust/qdev: Test bit property for #property
There's a diference between Rust and C:
Though C macro (e.g., DEFINE_PROP_BIT or DEFINE_PROP_BIT64) always
requires default value, Rust side allows to omit this "default" field
in #property, and provides a default value ("0" - false) for this
field.
This minor difference does not break user habits and should be
acceptable. Therefore, the test cases also cover this scenario.
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 4f09cf54faad32d41dfb5ccdd4c0e7871b636274
https://github.com/qemu/qemu/commit/4f09cf54faad32d41dfb5ccdd4c0e7871b636274
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/timer/hpet/src/device.rs
Log Message:
-----------
rust/hpet: Clean up type mismatch for num_timers property
Now `num_timers` is `usize` other than `u8`. Although the type field in
`declare_properties` macro hasn't been used, it's better to explicitly
point this out and clean up this before doing other property work.
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: b160ebadc196091ca7abe00471f49fdc6bb8faf6
https://github.com/qemu/qemu/commit/b160ebadc196091ca7abe00471f49fdc6bb8faf6
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/timer/hpet/src/device.rs
Log Message:
-----------
rust/hpet: Convert qdev properties to #property macro
Convert HPET's properties to #property macro:
* num_timers: usize property.
* flags: u32 bit property.
* int_route_cap: u32 property.
* hpet_offset_saved: bool property.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 0a7fe8d407009840bee0e6d95005714ede51d0b8
https://github.com/qemu/qemu/commit/0a7fe8d407009840bee0e6d95005714ede51d0b8
Author: Zhao Liu <[email protected]>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M rust/hw/core/src/qdev.rs
Log Message:
-----------
rust/qdev: Drop declare_properties & define_property macros
After HPET's #property conversion, there's no use case for
declare_properties & define_property. So get rid of them for now.
In future, if there's something that #property really cannot resolve,
they can be brought back.
Reviewed-by: Manos Pitsidianakis <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Commit: 6096dfa6c5cedf1e4e9ae04b27fb238ef390047f
https://github.com/qemu/qemu/commit/6096dfa6c5cedf1e4e9ae04b27fb238ef390047f
Author: Thomas Huth <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M tests/functional/m68k/test_nextcube.py
Log Message:
-----------
tests/functional/m68k: Use proper polling in the next-cube test
The next-cube tests currently sleep for 2 seconds to wait for the
guest's display to come up with the expected results. That's bad
since there is still a theoretical race left here, and since there
are two subtests, the whole test takes more than 4 seconds this way.
Looking at what the firmware does, there is a better way instead of
blindly waiting for two seconds: The firmware is writing some values
to the FPU registers during a test (and never touches them again
afterwards, so we can be sure about the final values), so we can
poll for the right values in those registers to know when we reached
a state when the display is initialized for sure. We just have to
also make sure to not look for text anymore that is only printed
after the FPU test has been done by the guest firmware.
This way the whole tests finishes in less than 1 second here, and
there should be no race condition here anymore.
Message-ID: <[email protected]>
Acked-by: Mark Cave-Ayland <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: db05b0d21ec1e0532cf5f5103ae6520a838d96f9
https://github.com/qemu/qemu/commit/db05b0d21ec1e0532cf5f5103ae6520a838d96f9
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M linux-user/strace.c
Log Message:
-----------
linux-user: avoid -Werror=int-in-bool-context
linux-user is failing to compile on Fedora 43:
../linux-user/strace.c:57:66: error: enum constant in boolean context
[-Werror=int-in-bool-context]
57 | #define FLAG_BASIC(V, M, N) { V, M | QEMU_BUILD_BUG_ON_ZERO(!(M)),
N }
The warning does not seem to be too useful and we could even disable it,
but the workaround is simple in this case.
Cc: [email protected]
Cc: Richard Henderson <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: ee3b39c92454b0360a614bd017eb5e545ea61f4e
https://github.com/qemu/qemu/commit/ee3b39c92454b0360a614bd017eb5e545ea61f4e
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M linux-user/elfload.c
M linux-user/gen-vdso-elfn.c.inc
M linux-user/gen-vdso.c
M linux-user/loader.h
M linux-user/signal-common.h
M linux-user/signal.c
Log Message:
-----------
linux-user: Create vdso_sigreturn_region_{start,end}
These variables will be populated from the vdso, and used
for detecting whether we are executing the sigreturn.
Signed-off-by: Richard Henderson <[email protected]>
Commit: b9baf09512756943ced419aa5ec71bf435681e09
https://github.com/qemu/qemu/commit/b9baf09512756943ced419aa5ec71bf435681e09
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M linux-user/aarch64/vdso-be.so
M linux-user/aarch64/vdso-le.so
M linux-user/aarch64/vdso.S
M linux-user/arm/vdso-be32.so
M linux-user/arm/vdso-be8.so
M linux-user/arm/vdso-le.so
M linux-user/arm/vdso.S
M linux-user/hppa/vdso.S
M linux-user/hppa/vdso.so
M linux-user/i386/vdso.S
M linux-user/i386/vdso.so
M linux-user/loongarch64/vdso.S
M linux-user/loongarch64/vdso.so
M linux-user/ppc/vdso-32.so
M linux-user/ppc/vdso-64.so
M linux-user/ppc/vdso-64le.so
M linux-user/ppc/vdso.S
M linux-user/riscv/vdso-32.so
M linux-user/riscv/vdso-64.so
M linux-user/riscv/vdso.S
M linux-user/s390x/vdso.S
M linux-user/s390x/vdso.so
Log Message:
-----------
linux-user: Populate sigreturn_region_{start,end} in all vdso.S
Mark the regions which contain sigreturn syscalls within
each vdso. Rebuild the shared objects.
Signed-off-by: Richard Henderson <[email protected]>
Commit: 2c75137623cb60f2ac3cedfff077d00dc977b842
https://github.com/qemu/qemu/commit/2c75137623cb60f2ac3cedfff077d00dc977b842
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M linux-user/elfload.c
Log Message:
-----------
linux-user: Populate vdso_sigreturn_region_{start,end} from sigtramp page
When a target does not support a vdso, we generate a sigtramp page.
The only thing on this page is a (set of) signal return syscalls.
We do not need to narrowly restrict the vdso_sigreturn_region;
simply record the entire page for all such targets.
Signed-off-by: Richard Henderson <[email protected]>
Commit: c8e5aed246914ff6438839350e414a3bea5a8041
https://github.com/qemu/qemu/commit/c8e5aed246914ff6438839350e414a3bea5a8041
Author: Arusekk <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M linux-user/main.c
M linux-user/qemu.h
M linux-user/signal-common.h
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: Add syscall dispatch support
This commit adds support for the `prctl(PR_SET_SYSCALL_USER_DISPATCH)`
function in the Linux userspace emulator.
It is implemented as a fully host-independent function, by forcing
a SIGSYS early during syscall handling, if the PC is outside the
allowed range.
Since disabled SUD is indistinguishable from enabled SUD with
always-allowed region length == ~0, this encoding is used
instead of introducing a new flag.
Tested on [uglendix][1], will probably also apply to software like
tiny-wine, rpcsx, limbo, lazypoline, vicar, sysfail and endokernel,
to name a few.
[1]: https://sr.ht/~arusekk/uglendix
Signed-off-by: Arusekk <[email protected]>
Message-ID: <[email protected]>
[rth: Split out is_vdso_sigreturn region matching and other minor tweaks.]
Signed-off-by: Richard Henderson <[email protected]>
Commit: b7cd0a1821adf9906c5edb248394bb2a95482656
https://github.com/qemu/qemu/commit/b7cd0a1821adf9906c5edb248394bb2a95482656
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/translate.c
Log Message:
-----------
target/sparc: Allow TRANS macro with no extra arguments
Use ## to drop the preceding comma if __VA_ARGS__ is empty.
Reviewed-by: Mark Cave-Ayland <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: b6cdd6c6050567c02a3b3cd428f85bb79d7455aa
https://github.com/qemu/qemu/commit/b6cdd6c6050567c02a3b3cd428f85bb79d7455aa
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/insns.decode
M target/sparc/translate.c
Log Message:
-----------
target/sparc: Loosen decode of STBAR for v8
Solaris 8 appears to have a bug whereby it executes v9 MEMBAR
instructions when booting a freshly installed image. According
to the SPARC v8 architecture manual, whilst bits 13 and bits 12-0
of the "Read State Register Instructions" are notionally zero,
they are marked as unused (i.e. ignored).
Fixes: af25071c1d ("target/sparc: Move RDASR, STBAR, MEMBAR to decodetree")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3097
Signed-off-by: Richard Henderson <[email protected]>
Reviewed-by: Mark Cave-Ayland <[email protected]>
Tested-by: Mark Cave-Ayland <[email protected]>
Commit: 49d669ccf33a772e3baf3fe4ebb996dc015f46c1
https://github.com/qemu/qemu/commit/49d669ccf33a772e3baf3fe4ebb996dc015f46c1
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/insns.decode
M target/sparc/translate.c
Log Message:
-----------
target/sparc: Loosen decode of RDY for v7
Bits [18:0] are not decoded with v7, and for v8 unused values
of rs1 simply produce undefined results.
Fixes: af25071c1d ("target/sparc: Move RDASR, STBAR, MEMBAR to decodetree")
Signed-off-by: Richard Henderson <[email protected]>
Reviewed-by: Mark Cave-Ayland <[email protected]>
Tested-by: Mark Cave-Ayland <[email protected]>
Commit: a0345f628394fbd001276c80fd02c8ad0d1b7ee2
https://github.com/qemu/qemu/commit/a0345f628394fbd001276c80fd02c8ad0d1b7ee2
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/insns.decode
Log Message:
-----------
target/sparc: Loosen decode of RDPSR for v7
For v7, bits [18:0] are ignored.
For v8, bits [18:14] are reserved and bits [13:0] are ignored.
Fixes: 668bb9b755e ("target/sparc: Move RDPSR, RDHPR to decodetree")
Reviewed-by: Mark Cave-Ayland <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: dc9678cc9725d6c3053c6f110f162d956eb9d48f
https://github.com/qemu/qemu/commit/dc9678cc9725d6c3053c6f110f162d956eb9d48f
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/insns.decode
Log Message:
-----------
target/sparc: Loosen decode of RDWIM for v7
For v7, bits [18:0] are ignored.
For v8, bits [18:14] are reserved and bits [13:0] are ignored.
Fixes: 5d617bfba07 ("target/sparc: Move RDWIM, RDPR to decodetree")
Reviewed-by: Mark Cave-Ayland <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 6ff52f9dee064d3c2138426834320f5877863d9b
https://github.com/qemu/qemu/commit/6ff52f9dee064d3c2138426834320f5877863d9b
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/insns.decode
Log Message:
-----------
target/sparc: Loosen decode of RDTBR for v7
For v7, bits [18:0] are ignored.
For v8, bits [18:14] are reserved and bits [13:0] are ignored.
Fixes: e8325dc02d0 ("target/sparc: Move RDTBR, FLUSHW to decodetree")
Reviewed-by: Mark Cave-Ayland <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: df663ac0a4e5d916b6b3e77552a925fec02bced4
https://github.com/qemu/qemu/commit/df663ac0a4e5d916b6b3e77552a925fec02bced4
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/sparc/translate.c
Log Message:
-----------
target/sparc: Relax decode of rs2_or_imm for v7
For v7, bits [12:5] are ignored for !imm.
For v8, those same bits are reserved, but are not trapped.
Reviewed-by: Mark Cave-Ayland <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: e4a1b308b27cd77338b8f05d3a31e6b38eb717c7
https://github.com/qemu/qemu/commit/e4a1b308b27cd77338b8f05d3a31e6b38eb717c7
Author: Peter Maydell <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M hw/pci-host/dino.c
Log Message:
-----------
hw/pci-host/dino: Don't call pci_register_root_bus() in init
In the dino PCI host bridge device, we call pci_register_root_bus()
in the device's instance_init. This is a problem for two reasons
* the PCI bridge is then available to the rest of the simulation
(e.g. via pci_qdev_find_device()), even though it hasn't
yet been realized
* we do not attempt to unregister in an instance_deinit,
which means that if you go through an instance_init -> deinit
lifecycle the freed memory for the host-bridge device is
left on the pci_host_bridges list
ASAN reports the resulting use-after-free:
==1771223==ERROR: AddressSanitizer: heap-use-after-free on address
0x527000018f80 at pc 0x5b4b9d3369b5 bp 0x7ffd01929980 sp 0x7ffd01929978
WRITE of size 8 at 0x527000018f80 thread T0
#0 0x5b4b9d3369b4 in pci_host_bus_register
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:608:5
#1 0x5b4b9d321566 in pci_root_bus_internal_init
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:677:5
#2 0x5b4b9d3215e0 in pci_root_bus_new
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:706:5
#3 0x5b4b9d321fe5 in pci_register_root_bus
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:751:11
#4 0x5b4b9d390521 in dino_pcihost_init
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci-host/dino.c:473:16
0x527000018f80 is located 1664 bytes inside of 12384-byte region
[0x527000018900,0x52700001b960)
freed by thread T0 here:
#0 0x5b4b9cab185a in free
(/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/qemu-system-hppa+0x17ad85a)
(BuildId: ca496bb2e4fc750ebd289b448bad8d99c0ecd140)
#1 0x5b4b9e3ee723 in object_finalize
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:734:9
#2 0x5b4b9e3e69db in object_unref
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:1232:9
#3 0x5b4b9ea6173c in qmp_device_list_properties
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/qom-qmp-cmds.c:237:5
#4 0x5b4b9ec4e0f3 in qmp_marshal_device_list_properties
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/qapi/qapi-commands-qdev.c:65:14
previously allocated by thread T0 here:
#0 0x5b4b9cab1af3 in malloc
(/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/qemu-system-hppa+0x17adaf3)
(BuildId: ca496bb2e4fc750ebd289b448bad8d99c0ecd140)
#1 0x799d8270eb09 in g_malloc
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId:
1eb6131419edb83b2178b682829a6913cf682d75)
#2 0x5b4b9e3e75fc in object_new_with_type
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:767:15
#3 0x5b4b9e3e7409 in object_new_with_class
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:782:12
#4 0x5b4b9ea609a5 in qmp_device_list_properties
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/qom-qmp-cmds.c:206:11
where we allocated one instance of the dino device, put it on the
list, freed it, and then trying to allocate a second instance touches
the freed memory on the pci_host_bridges list.
Fix this by deferring all the setup of memory regions and registering
the PCI bridge to the device's realize method. This brings it into
line with almost all other PCI host bridges, which call
pci_register_root_bus() in realize.
Cc: [email protected]
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3118
Fixes: 63901b6cc4d8b4 ("dino: move PCI bus initialisation to
dino_pcihost_init()")
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Tested-by: Alex Bennée <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 76d2b8d42adb0db2d1ccd08a626f25ddd30208a8
https://github.com/qemu/qemu/commit/76d2b8d42adb0db2d1ccd08a626f25ddd30208a8
Author: Peter Maydell <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M hw/pci-host/astro.c
Log Message:
-----------
hw/pci-host/astro: Don't call pci_regsiter_root_bus() in init
In the astro PCI host bridge device, we call pci_register_root_bus()
in the device's instance_init. This is a problem for two reasons
* the PCI bridge is then available to the rest of the simulation
(e.g. via pci_qdev_find_device()), even though it hasn't
yet been realized
* we do not attempt to unregister in an instance_deinit,
which means that if you go through an instance_init -> deinit
lifecycle the freed memory for the host-bridge device is
left on the pci_host_bridges list
ASAN reports the resulting use-after-free:
==1776584==ERROR: AddressSanitizer: heap-use-after-free on address
0x51f00000cb00 at pc 0x5b2d460a89b5 bp 0x7ffef7617f50 sp 0x7ffef7617f48
WRITE of size 8 at 0x51f00000cb00 thread T0
#0 0x5b2d460a89b4 in pci_host_bus_register
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:608:5
#1 0x5b2d46093566 in pci_root_bus_internal_init
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:677:5
#2 0x5b2d460935e0 in pci_root_bus_new
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:706:5
#3 0x5b2d46093fe5 in pci_register_root_bus
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci/pci.c:751:11
#4 0x5b2d46fe2335 in elroy_pcihost_init
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../hw/pci-host/astro.c:455:16
0x51f00000cb00 is located 1664 bytes inside of 3456-byte region
[0x51f00000c480,0x51f00000d200)
freed by thread T0 here:
#0 0x5b2d4582385a in free
(/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/qemu-system-hppa+0x17ad85a)
(BuildId: 692b49eedc6fb0ef618bbb6784a09311b3b7f1e8)
#1 0x5b2d47160723 in object_finalize
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:734:9
#2 0x5b2d471589db in object_unref
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:1232:9
#3 0x5b2d477d373c in qmp_device_list_properties
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/qom-qmp-cmds.c:237:5
previously allocated by thread T0 here:
#0 0x5b2d45823af3 in malloc
(/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/qemu-system-hppa+0x17adaf3)
(BuildId: 692b49eedc6fb0ef618bbb6784a09311b3b7f1e8)
#1 0x79728fa08b09 in g_malloc
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId:
1eb6131419edb83b2178b682829a6913cf682d75)
#2 0x5b2d471595fc in object_new_with_type
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:767:15
#3 0x5b2d47159409 in object_new_with_class
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/object.c:782:12
#4 0x5b2d477d29a5 in qmp_device_list_properties
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/hppa-asan/../../qom/qom-qmp-cmds.c:206:11
Cc: [email protected]
Fixes: e029bb00a79be ("hw/pci-host: Add Astro system bus adapter found on
PA-RISC machines")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3118
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Tested-by: Alex Bennée <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: a50347a4145faf6d409afd4b9b682c8b3e60854a
https://github.com/qemu/qemu/commit/a50347a4145faf6d409afd4b9b682c8b3e60854a
Author: WANG Rui <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Fix folding of vector bitsel
It looks like a typo. When the false value (C) is the constant -1, the
correct fold should be: R = B | ~A
Reproducer (LoongArch64 assembly):
.text
.globl _start
_start:
vldi $vr1, 3073
vldi $vr2, 1023
vbitsel.v $vr0, $vr2, $vr1, $vr2
vpickve2gr.d $a1, $vr0, 1
xori $a0, $a1, 1
li.w $a7, 93
syscall 0
Fixes: e58b977238e3 ("tcg/optimize: Optimize bitsel_vec")
Link: https://github.com/llvm/llvm-project/issues/159610
Signed-off-by: WANG Rui <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 3014059e8faa7e4d25482710ca2c0f095441396b
https://github.com/qemu/qemu/commit/3014059e8faa7e4d25482710ca2c0f095441396b
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M accel/tcg/cputlb.c
M include/exec/cputlb.h
M include/hw/core/cpu.h
Log Message:
-----------
include/hw/core/cpu: Introduce MMUIdxMap
Use a typedef instead of uint16_t directly when
describing sets of mmu indexes.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 3c58ddc9d784cd65af3d5810d9d66e57900e280a
https://github.com/qemu/qemu/commit/3c58ddc9d784cd65af3d5810d9d66e57900e280a
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M accel/tcg/cputlb.c
M include/hw/core/cpu.h
M tcg/aarch64/tcg-target.c.inc
M tcg/arm/tcg-target.c.inc
Log Message:
-----------
include/hw/core/cpu: Introduce cpu_tlb_fast
Encapsulate access to cpu->neg.tlb.f[] in a function.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 33ea495cd3bfb21db920b6928af7eda39ced5c20
https://github.com/qemu/qemu/commit/33ea495cd3bfb21db920b6928af7eda39ced5c20
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M include/hw/core/cpu.h
M tcg/tcg.c
Log Message:
-----------
include/hw/core/cpu: Invert the indexing into CPUTLBDescFast
This array is within CPUNegativeOffsetState, which means the
last element of the array has an offset from env with the
smallest magnitude. This can be encoded into fewer bits
when generating TCG fast path memory references.
When we changed the NB_MMU_MODES to be a global constant,
rather than a per-target value, we pessimized the code
generated for targets which use only a few mmu indexes.
By inverting the array index, we counteract that.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 9ea28805814bedf511baf1635bb2fd0ceefcd638
https://github.com/qemu/qemu/commit/9ea28805814bedf511baf1635bb2fd0ceefcd638
Author: Richard Henderson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M target/hppa/cpu.h
Log Message:
-----------
target/hppa: Adjust mmu indexes to begin with 0
This is a logical reversion of 2ad04500543, though
there have been additions to the set of mmu indexes
since then. The impetus to that original patch,
"9-15 will use shorter assembler instructions when
run on a x86-64 host" is now handled generically.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: fa1bc5c8c3302b2fefd99e13227165bfac1f59dd
https://github.com/qemu/qemu/commit/fa1bc5c8c3302b2fefd99e13227165bfac1f59dd
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/functional/s390x/test_pxelinux.py
Log Message:
-----------
tests/functional/s390x/test_pxelinux: Fix warnings from pylint
pylint complains about wrong indentation in one of the lines and
that the pxelinux_cfg_contents is a constant that should be written
with capital letters. While we're at it, also add the missing doc
strings.
Reviewed-by: Jared Rossi <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: 2bfe71aa7e6bce5c0254e679f66a44cadcb3a367
https://github.com/qemu/qemu/commit/2bfe71aa7e6bce5c0254e679f66a44cadcb3a367
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M MAINTAINERS
A tests/data/vmstate-static-checker/dump1.json
A tests/data/vmstate-static-checker/dump2.json
R tests/vmstate-static-checker-data/dump1.json
R tests/vmstate-static-checker-data/dump2.json
Log Message:
-----------
tests: Move the old vmstate-static-checker files to tests/data/
All other test data resides in tests/data/, so let's move the dump
files here, too.
Reviewed-by: Peter Xu <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: 5fe2b6255fa2794e9d0fa29f94b85766af3a4286
https://github.com/qemu/qemu/commit/5fe2b6255fa2794e9d0fa29f94b85766af3a4286
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M MAINTAINERS
M tests/functional/x86_64/meson.build
A tests/functional/x86_64/test_bad_vmstate.py
Log Message:
-----------
tests/functional: Test whether the vmstate-static-checker script works fine
We've got two vmstate dump files in the repository which are meant
for verifying whether the vmstate-static-checker.py works as expected.
Since running this manually is a cumbersome job, let's add an automated
test for this instead that runs the script with the two dump files
and checks for the expected output.
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: d0fdd2a20b4596258ace2a93650390ac4db653ab
https://github.com/qemu/qemu/commit/d0fdd2a20b4596258ace2a93650390ac4db653ab
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
A tests/data/vmstate-static-checker/aarch64/virt-7.2.json
A tests/data/vmstate-static-checker/m68k/virt-7.2.json
A tests/data/vmstate-static-checker/ppc64/pseries-7.2.json
A tests/data/vmstate-static-checker/s390x/s390-ccw-virtio-7.2.json
A tests/data/vmstate-static-checker/x86_64/pc-q35-7.2.json
Log Message:
-----------
tests/data/vmstate-static-checker: Add dump files from QEMU 7.2.17
For automatic tests, we need reference files from older QEMU versions.
QEMU 7.2 is a long term stable release, so it's a good candidate for
checking whether the migration could still work correctly. Let's add the
files from that version that have been taken with the "-dump-vmstate"
parameter of QEMU (compiled with single machines and the configure switch
"--without-default-devices" to keep the json files reasonable small).
Some devices also have been removed manually from the json files, e.g.
the "pci-bridge" (which can be disabled in later QEMU versions via Kconfig),
and some Linux-related devices like "scsi-block" and "scsi-generic" and
KVM-related devices. Without removing them, we might get errors otherwise
if these devices have not been compiled into the destination QEMU build.
Acked-by: Peter Xu <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: 5383ccf2512f4dc48e6321545f0f946d6bc78aa1
https://github.com/qemu/qemu/commit/5383ccf2512f4dc48e6321545f0f946d6bc78aa1
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M MAINTAINERS
M tests/functional/aarch64/meson.build
A tests/functional/generic/test_vmstate.py
M tests/functional/m68k/meson.build
M tests/functional/ppc64/meson.build
M tests/functional/s390x/meson.build
M tests/functional/x86_64/meson.build
Log Message:
-----------
tests/functional: Use vmstate-static-checker.py to test data from v7.2
We've got this nice vmstate-static-checker.py script that can help to
detect screw-ups in the migration states. Unfortunately, it's currently
only run manually, which can be cumbersome. Let's run it from a functional
test automatically with the reference data from QEMU 7.2, so that we get
at least a basic coverage here. Since the test can fail when the checker
script detects a false positive, mark the test with a skipFlakyTest
decorator for now, so that it is only run when the user also set the
QEMU_TEST_FLAKY_TESTS environment variable.
Acked-by: Fabiano Rosas <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: 8a44d8c2ac0921c8064fbfd00ef28e3a2588918e
https://github.com/qemu/qemu/commit/8a44d8c2ac0921c8064fbfd00ef28e3a2588918e
Author: Daniel P. Berrangé <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/functional/aarch64/test_virt.py
M tests/functional/arm/test_integratorcp.py
M tests/functional/mips64el/test_malta.py
M tests/functional/replay_kernel.py
M tests/functional/x86_64/test_acpi_bits.py
Log Message:
-----------
tests/functional: use self.log for all logging
Some tests are creating their on logger category which means any
output they log is not captured in base.log.
Signed-off-by: Daniel P. Berrangé <[email protected]>
[thuth: drop changes to reverse_debugging.py (it's WIP in other patches)]
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: fd34f56fe886250bdd64f9c222c1cb4c07a594ad
https://github.com/qemu/qemu/commit/fd34f56fe886250bdd64f9c222c1cb4c07a594ad
Author: Peter Maydell <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M .gitlab-ci.d/buildtest.yml
Log Message:
-----------
.gitlab-ci.d/buildtest.yml: Unset CI_COMMIT_DESCRIPTION for htags
In commit 52a21689cd829 we added a workaround for a bug in older
versions of htags where they fail with a weird error message if the
environment is too large. However, we missed one variable which
gitlab CI can set to the body of the commit message:
CI_COMMIT_DESCRIPTION.
Add this to the variables we unset when running htags, so that
the 'pages' job doesn't fail if the most recent commit happens
to have a very large commit message.
Cc: [email protected]
Fixes: 52a21689cd8 (".gitlab-ci.d/buildtest.yml: Work around htags bug when
environment is large")
Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: 464a0a584c8cf8183b0d61167a0234a3a7c9aa6f
https://github.com/qemu/qemu/commit/464a0a584c8cf8183b0d61167a0234a3a7c9aa6f
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M MAINTAINERS
M tests/functional/hppa/meson.build
A tests/functional/hppa/test_cdboot.py
Log Message:
-----------
tests/functional/hppa: Add a CD-ROM boot test for qemu-system-hppa
Add a test which boots a HP-UX firmware upgrade CD-ROM. It exercise
the PCI LSI53C895A SCSI controller. The ISO image comes from:
https://web.archive.org/web/20101204061612/http://ftp.parisc-linux.org/kernels/712/PF_C7120023
The test is very quick, less than 3s.
Based on an old patch from Philippe that has been posted here:
https://www.mail-archive.com/[email protected]/msg651012.html
Suggested-by: Sven Schnelle <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
[thuth: Adjusted the patch to the functional framework,
and adjusted the commit message]
Message-ID: <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: 4f1ebc7712a7db61155080164f2169320d033559
https://github.com/qemu/qemu/commit/4f1ebc7712a7db61155080164f2169320d033559
Author: Thomas Huth <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/Makefile.include
Log Message:
-----------
tests: Fix "make check-functional" for targets without thorough tests
If QEMU gets configured for a single target that does not have
any thorough functional tests, "make check-functional" currently
fails with the error message "No rule to make target 'check-func'".
This happens because "check-func" only gets defined for thorough
tests (quick ones get added to "check-func-quick" instead).
The same problem can happen with the quick tests for targets that
do not have any functional test at all. To fix it, simply make sure
that the targets are always available in the Makefile.
Reported-by: Peter Maydell <[email protected]>
Closes: https://gitlab.com/qemu-project/qemu/-/issues/3119
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Commit: bcc251800b9e60c541de860dc8a1ced70622ee43
https://github.com/qemu/qemu/commit/bcc251800b9e60c541de860dc8a1ced70622ee43
Author: Daniel P. Berrangé <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/functional/qemu_test/asset.py
Log Message:
-----------
tests/functional: retry when seeing ConnectionError exception
This base class is used for many different socket connection
errors, corresponding to ECONNRESET, ECONNREFUSED, ECONNABORTED
and more. Most of these are things you might expect to see every
now and then as transient flaws. We should thus retry the asset
download when seeing them.
Signed-off-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: 097bbfc5e0ba889ce17106ef941a56111c3de270
https://github.com/qemu/qemu/commit/097bbfc5e0ba889ce17106ef941a56111c3de270
Author: Daniel P. Berrangé <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/functional/qemu_test/asset.py
Log Message:
-----------
tests/functional: treat unknown exceptions as transient faults
To maximise the robustness of the functional tests we want to treat most
asset download failures as non-fatal to the test suite. Instead it
should just skip the tests which need that particular asset. The only
time aim to make it fatal is for 404 errors which are highly likely to
reflect genuine problems to be fixed.
We catch certain exception classes and handle them as transient errors,
but unfortunately it is proving difficult to predict what exception
classes urlopen() is capable of raising, with new possibilities being
discovered.
To provide a fail-safe, treat the generic Exception class as being a
transient error too. This may well mask certain genuine bugs, but it is
preferrable to prioritize running the test suite to the greatest extent
practical.
Signed-off-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Commit: 62e82053fc676e9493dc2c2072352634b8cd655d
https://github.com/qemu/qemu/commit/62e82053fc676e9493dc2c2072352634b8cd655d
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M docs/devel/memory.rst
Log Message:
-----------
docs/devel: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Remove the instruction to call object_unparent(), and the exception
of the "do not call object_unparent()" rule for instance_finalize().
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: e3ed862cabce6d8a12300b941243cb44e9cd40d1
https://github.com/qemu/qemu/commit/e3ed862cabce6d8a12300b941243cb44e9cd40d1
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/vfio/pci.c
Log Message:
-----------
vfio/pci: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the insntance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: f9ce08489424905ae4a70218fa35013fe88d54ed
https://github.com/qemu/qemu/commit/f9ce08489424905ae4a70218fa35013fe88d54ed
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/core/register.c
Log Message:
-----------
hw/core/register: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 15d91385422eb42321f49144554439c52b18953a
https://github.com/qemu/qemu/commit/15d91385422eb42321f49144554439c52b18953a
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/hyperv/hv-balloon.c
Log Message:
-----------
hv-balloon: hw/core/register: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 0c6d897e38f5a6a864d6ae6dc42f521b84011107
https://github.com/qemu/qemu/commit/0c6d897e38f5a6a864d6ae6dc42f521b84011107
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/sd/sdhci.c
Log Message:
-----------
hw/sd/sdhci: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 9b80f8a8e758b427501e6bcbcb114ae45ff68387
https://github.com/qemu/qemu/commit/9b80f8a8e758b427501e6bcbcb114ae45ff68387
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/vfio/pci-quirks.c
M hw/vfio/region.c
Log Message:
-----------
vfio: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 46a8624fa7d116989389867f534b07ee562ebb1e
https://github.com/qemu/qemu/commit/46a8624fa7d116989389867f534b07ee562ebb1e
Author: Akihiko Odaki <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/xen/xen_pt_msi.c
Log Message:
-----------
hw/xen: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is
unnecessary.
Worse, automatic unparenting happens before the instance_finalize()
callback of the parent gets called, so object_unparent() calls in
the callback will refer to objects that are already unparented, which
is semantically incorrect.
Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 1f64df25477eff72779b000588cb821c654f26b7
https://github.com/qemu/qemu/commit/1f64df25477eff72779b000588cb821c654f26b7
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M docs/devel/code-provenance.rst
Log Message:
-----------
docs/code-provenance: clarify scope very early
The AI policy in QEMU is not about content generators, it is about generated
content. Other uses are explicitly not covered. Rename the policy and clarify
its scope in the TL;DR section, as a matter of convenience to the reader.
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Reviewed-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 9ceb9b42c8f0f7ea6a4975e67405cfebee249ba8
https://github.com/qemu/qemu/commit/9ceb9b42c8f0f7ea6a4975e67405cfebee249ba8
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M docs/devel/code-provenance.rst
Log Message:
-----------
docs/code-provenance: make the exception process more prominent
QEMU's AI generated content policy does not flesh out the exception
process yet. Do it, while at the same time keeping things informal: ask
contributors to explain what they would like to use AI for, and let them
reach a consensus with the project on why it is credible to claim DCO
compliance in that specific scenario.
In other words, exceptions do not "solve the AI copyright problem". They
take a position that a reasonable contributor could have, and assert that
we're comfortable with the argument.
Suggested-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: cd64320e1e27168d3796a847bbfde66c8b1116f9
https://github.com/qemu/qemu/commit/cd64320e1e27168d3796a847bbfde66c8b1116f9
Author: Paolo Bonzini <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M docs/devel/code-provenance.rst
Log Message:
-----------
docs/code-provenance: AI exceptions are in addition to DCO
Using phrasing from https://openinfra.org/legal/ai-policy (with just
"commit" replaced by "submission", because we do not submit changes
as commits but rather emails), clarify that the contributor remains
responsible for its copyright or license status.
[This is not my preferred phrasing. I would prefer something lighter
like "the "Signed-off-by" label in the contribution gives the author
responsibility". But for the sake of not reinventing the wheel I am
keeping the exact words from the OpenInfra policy.]
Reviewed-by: Peter Maydell <[email protected]>
Reviewed-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 03fe6659803f83690b8587d01f8ee56bb4be4b90
https://github.com/qemu/qemu/commit/03fe6659803f83690b8587d01f8ee56bb4be4b90
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/tb-maint.c
Log Message:
-----------
accel/tcg: Properly unlink a TB linked to itself
When we remove dest from orig's links, we lose the link
that we rely on later to reset links. This can lead to
failure to release from spinlock with self-modifying code.
Cc: [email protected]
Reported-by: 李威威 <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Reviewed-by: Anton Johansson <[email protected]>
Tested-by: Anton Johansson <[email protected]>
Commit: e13e1195db8af18e149065a59351ea85215645bb
https://github.com/qemu/qemu/commit/e13e1195db8af18e149065a59351ea85215645bb
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M tests/tcg/multiarch/Makefile.target
A tests/tcg/multiarch/tb-link.c
Log Message:
-----------
tests/tcg/multiarch: Add tb-link test
Signed-off-by: Richard Henderson <[email protected]>
Commit: dae1e0df49d429e76efcc0505e2519c988cf14b4
https://github.com/qemu/qemu/commit/dae1e0df49d429e76efcc0505e2519c988cf14b4
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M gdbstub/system.c
M gdbstub/user.c
Log Message:
-----------
gdbstub: Remove tb_flush uses
This hasn't been needed since d828b92b8a6
("accel/tcg: Introduce CF_BP_PAGE").
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 521c9e1b1adcbca90d1d84e1dc00ec63f17256ee
https://github.com/qemu/qemu/commit/521c9e1b1adcbca90d1d84e1dc00ec63f17256ee
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M linux-user/alpha/cpu_loop.c
M target/alpha/helper.h
M target/alpha/sys_helper.c
M target/alpha/translate.c
Log Message:
-----------
target/alpha: Simplify call_pal implementation
Since 288a5fe980f, we don't link translation blocks
directly to palcode entry points. If we load palbr
from env instead of encoding the constant, we avoid
all need for tb_flush().
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 55b490b58fbfb4079186f05a1a63da1633239cbf
https://github.com/qemu/qemu/commit/55b490b58fbfb4079186f05a1a63da1633239cbf
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M target/riscv/csr.c
M target/riscv/tcg/tcg-cpu.c
Log Message:
-----------
target/riscv: Record misa_ext in TCGTBCPUState.cs_base
The tb_flush within write_misa was incorrect. It assumed
that we could adjust the ISA of the current processor and
discard all TB and all would be well. But MISA is per vcpu,
so globally flushing TB does not mean that the TB matches
the MISA of any given vcpu.
By recording misa in the tb state, we ensure that the code
generated matches the vcpu.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 9d61f61b4fa4dc4cd65fca8b24a9cb70c0c61a88
https://github.com/qemu/qemu/commit/9d61f61b4fa4dc4cd65fca8b24a9cb70c0c61a88
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M hw/ppc/spapr_hcall.c
Log Message:
-----------
hw/ppc/spapr: Use tb_invalidate_phys_range in h_page_init
We only need invalidate tbs from a single page, not flush
all translations.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Harsh Prateek Bora <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: b773c149a80b11449899b6a4ad3672250d4fcb0f
https://github.com/qemu/qemu/commit/b773c149a80b11449899b6a4ad3672250d4fcb0f
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/tb-maint.c
M include/exec/tb-flush.h
Log Message:
-----------
accel/tcg: Split out tb_flush__exclusive_or_serial
Expose a routine to be called when no cpus are running.
Simplify the do_tb_flush run_on_cpu callback, because
that is explicitly called with start_exclusive; there
is no need for the mmap_lock as well.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 84142184899322c2dca931e36abca7a35a2827cd
https://github.com/qemu/qemu/commit/84142184899322c2dca931e36abca7a35a2827cd
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/tcg-all.c
M hw/core/cpu-system.c
Log Message:
-----------
accel/tcg: Move post-load tb_flush to vm_change_state hook
We need not call tb_flush once per cpu, only once per vmload.
By moving the call from cpu_common_post_load to a tcg-specific
vm_change_state_handler, we do even better than that: we only
flush when called from HMP triggered loadvm, when we had old
state to flush.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 7330741b3e4bc4b1b32e85b9c1372f44c896c4da
https://github.com/qemu/qemu/commit/7330741b3e4bc4b1b32e85b9c1372f44c896c4da
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/plugin-gen.c
M plugins/core.c
M plugins/loader.c
Log Message:
-----------
plugins: Use tb_flush__exclusive_or_serial
In all cases, we are already within start_exclusive.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 430014bee7a6c26a70e9f3854428843d5918cdf5
https://github.com/qemu/qemu/commit/430014bee7a6c26a70e9f3854428843d5918cdf5
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M linux-user/mmap.c
M linux-user/syscall.c
M linux-user/user-internals.h
Log Message:
-----------
linux-user: Split out begin_parallel_context
Move the test/flush/set block to a new function.
Use tb_flush__exclusive_or_serial while we're at it.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: a9519a46154105713c3f2d3039b40b205ac35e56
https://github.com/qemu/qemu/commit/a9519a46154105713c3f2d3039b40b205ac35e56
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/tb-maint.c
M accel/tcg/translate-all.c
M include/exec/tb-flush.h
Log Message:
-----------
accel/tcg: Create queue_tb_flush from tb_flush
Rename the function and remove the path which
performs the flush immediately.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: ebf7a5d294a336c7701018884587646d89030073
https://github.com/qemu/qemu/commit/ebf7a5d294a336c7701018884587646d89030073
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/translate-all.c
Log Message:
-----------
accel/tcg: Improve buffer overflow in tb_gen_code
If we only have one vcpu, or within cpu_exec_step_atomic,
we needn't jump all the way back out to the cpu loop to
empty the code gen buffer.
Signed-off-by: Richard Henderson <[email protected]>
Commit: b94cca31a7dbd204c7c3b6ede419be9a53b76bd6
https://github.com/qemu/qemu/commit/b94cca31a7dbd204c7c3b6ede419be9a53b76bd6
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/tcg/tb-maint.c
Log Message:
-----------
accel/tcg: Remove dead mmap_unlock() call in invalidate_phys_page_range
Since commit a97d5d2c8be ("accel/tcg: Use interval tree for TBs in
user-only mode") this code is guarded with #ifdef'ry and only build
for system emulation where mmap_unlock() is meaningless. Remove the
call.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: f6f7fdd68e6fbfafae828e504de544b5659bc4bd
https://github.com/qemu/qemu/commit/f6f7fdd68e6fbfafae828e504de544b5659bc4bd
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/stubs/tcg-stub.c
M include/exec/cpu-common.h
Log Message:
-----------
accel/tcg: Remove cpu_loop_exit_restore() stub
Not needed since commit 63e7af20352 ("hw/mips: Restrict ITU to TCG").
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 48d7b47cd76b986ad360b6ba1b0889186416f1c2
https://github.com/qemu/qemu/commit/48d7b47cd76b986ad360b6ba1b0889186416f1c2
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M accel/stubs/tcg-stub.c
M accel/tcg/cputlb.c
M accel/tcg/plugin-gen.c
M accel/tcg/tb-maint.c
M accel/tcg/tcg-all.c
M accel/tcg/translate-all.c
M gdbstub/system.c
M gdbstub/user.c
M hw/core/cpu-system.c
M hw/pci-host/astro.c
M hw/pci-host/dino.c
M hw/ppc/spapr_hcall.c
M include/exec/cpu-common.h
M include/exec/cputlb.h
M include/exec/tb-flush.h
M include/hw/core/cpu.h
M linux-user/aarch64/vdso-be.so
M linux-user/aarch64/vdso-le.so
M linux-user/aarch64/vdso.S
M linux-user/alpha/cpu_loop.c
M linux-user/arm/vdso-be32.so
M linux-user/arm/vdso-be8.so
M linux-user/arm/vdso-le.so
M linux-user/arm/vdso.S
M linux-user/elfload.c
M linux-user/gen-vdso-elfn.c.inc
M linux-user/gen-vdso.c
M linux-user/hppa/vdso.S
M linux-user/hppa/vdso.so
M linux-user/i386/vdso.S
M linux-user/i386/vdso.so
M linux-user/loader.h
M linux-user/loongarch64/vdso.S
M linux-user/loongarch64/vdso.so
M linux-user/main.c
M linux-user/mmap.c
M linux-user/ppc/vdso-32.so
M linux-user/ppc/vdso-64.so
M linux-user/ppc/vdso-64le.so
M linux-user/ppc/vdso.S
M linux-user/qemu.h
M linux-user/riscv/vdso-32.so
M linux-user/riscv/vdso-64.so
M linux-user/riscv/vdso.S
M linux-user/s390x/vdso.S
M linux-user/s390x/vdso.so
M linux-user/signal-common.h
M linux-user/signal.c
M linux-user/syscall.c
M linux-user/syscall_defs.h
M linux-user/user-internals.h
M plugins/core.c
M plugins/loader.c
M target/alpha/helper.h
M target/alpha/sys_helper.c
M target/alpha/translate.c
M target/hppa/cpu.h
M target/riscv/csr.c
M target/riscv/tcg/tcg-cpu.c
M target/sparc/insns.decode
M target/sparc/translate.c
M tcg/aarch64/tcg-target.c.inc
M tcg/arm/tcg-target.c.inc
M tcg/optimize.c
M tcg/tcg.c
M tests/tcg/multiarch/Makefile.target
A tests/tcg/multiarch/tb-link.c
Log Message:
-----------
Merge tag 'pull-misc-20250924' of https://gitlab.com/rth7680/qemu into staging
hw/pci-host/{dino,astro}: Don't call pci_register_root_bus() in init
target/sparc: Loosen various decode for v7
linux-user: Add syscall dispatch support
tcg/optimize: Fix folding of vector bitsel
include/hw/core/cpu: Introduce MMUIdxMap
include/hw/core/cpu: Introduce cpu_tlb_fast
include/hw/core/cpu: Invert the indexing into CPUTLBDescFast
accel/tcg: Remove dead mmap_unlock() call in invalidate_phys_page_range
accel/tcg: Remove cpu_loop_exit_restore() stub
accel/tcg: Properly unlink a TB linked to itself
accel/tcg: Introduce and use tb_flush__exclusive_or_serial
# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmjUP5MdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/qEwgAt6uSXMVTXykr6uxW
# 321nMEMEB2Av5LHQwvgRW/BOAWCKDNtxHHn3tcfvOLKcFHR+agZqTHBvOKGgPGSo
# fPkoHRMlcb3pKxhttX66qZhDiaMNRALtajVNkelKUso4BtESkW1v4yQVNLr1Rk6+
# f/xg4noX2gSh56VDMGLgcTR5wvTNycTIq3909zPmO4YPVQjwUPSYkB227LyBRLYg
# R6EQOzn45oQuFfMYukjNQczibkZ7NV8mW7XmbfiMXwvK1yA/F75eN+B9sJKqS44d
# ww/rurQdIYZFwPPPqz3XZmztg0n9syE9VHkliYmAoJRtbgc0obQHt9M7UfLwW2TM
# NXYlNw==
# =HVcw
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 24 Sep 2025 11:59:31 AM PDT
# gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg: issuer "[email protected]"
# gpg: Good signature from "Richard Henderson <[email protected]>"
[ultimate]
* tag 'pull-misc-20250924' of https://gitlab.com/rth7680/qemu: (32 commits)
accel/tcg: Remove cpu_loop_exit_restore() stub
accel/tcg: Remove dead mmap_unlock() call in invalidate_phys_page_range
accel/tcg: Improve buffer overflow in tb_gen_code
accel/tcg: Create queue_tb_flush from tb_flush
linux-user: Split out begin_parallel_context
plugins: Use tb_flush__exclusive_or_serial
accel/tcg: Move post-load tb_flush to vm_change_state hook
accel/tcg: Split out tb_flush__exclusive_or_serial
hw/ppc/spapr: Use tb_invalidate_phys_range in h_page_init
target/riscv: Record misa_ext in TCGTBCPUState.cs_base
target/alpha: Simplify call_pal implementation
gdbstub: Remove tb_flush uses
tests/tcg/multiarch: Add tb-link test
accel/tcg: Properly unlink a TB linked to itself
target/hppa: Adjust mmu indexes to begin with 0
include/hw/core/cpu: Invert the indexing into CPUTLBDescFast
include/hw/core/cpu: Introduce cpu_tlb_fast
include/hw/core/cpu: Introduce MMUIdxMap
tcg/optimize: Fix folding of vector bitsel
hw/pci-host/astro: Don't call pci_regsiter_root_bus() in init
...
Signed-off-by: Richard Henderson <[email protected]>
Commit: 687a9b83833cda591a04f997a5260f85bd0c5e44
https://github.com/qemu/qemu/commit/687a9b83833cda591a04f997a5260f85bd0c5e44
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M MAINTAINERS
M tests/Makefile.include
A tests/data/vmstate-static-checker/aarch64/virt-7.2.json
A tests/data/vmstate-static-checker/dump1.json
A tests/data/vmstate-static-checker/dump2.json
A tests/data/vmstate-static-checker/m68k/virt-7.2.json
A tests/data/vmstate-static-checker/ppc64/pseries-7.2.json
A tests/data/vmstate-static-checker/s390x/s390-ccw-virtio-7.2.json
A tests/data/vmstate-static-checker/x86_64/pc-q35-7.2.json
M tests/functional/aarch64/meson.build
M tests/functional/aarch64/test_virt.py
M tests/functional/arm/test_integratorcp.py
A tests/functional/generic/test_vmstate.py
M tests/functional/hppa/meson.build
A tests/functional/hppa/test_cdboot.py
M tests/functional/m68k/meson.build
M tests/functional/m68k/test_nextcube.py
M tests/functional/mips64el/test_malta.py
M tests/functional/ppc64/meson.build
M tests/functional/qemu_test/asset.py
M tests/functional/replay_kernel.py
M tests/functional/s390x/meson.build
M tests/functional/s390x/test_pxelinux.py
M tests/functional/x86_64/meson.build
M tests/functional/x86_64/test_acpi_bits.py
A tests/functional/x86_64/test_bad_vmstate.py
R tests/vmstate-static-checker-data/dump1.json
R tests/vmstate-static-checker-data/dump2.json
Log Message:
-----------
Merge tag 'pull-request-2025-09-24' of https://gitlab.com/thuth/qemu into
staging
* New functional tests to check via the vmstate-static-checker.py script
* New functional tests for CD-ROM boot on hppa
* Skip functional tests on more exotic network errors, too
* Fix another issue with htags in the gitlab CI
* Some additional minor fixes to various functional tests
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCgAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmjTkIkRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbUZCA/9Fb3bVlK108aD5ipuMLlgsXlRI+leEQC6
# h8BJgrb1GvYLlxEguHZJcSIxQN0F6TZsj31xWjpsSMNQro7tbmBcDZtj9FkCrAuG
# E99tG67A6RCTeFbqCfi19QlU9C0UOhJPPEkzZ56D+jik9NJKSG0fM0OFVEt0vBEt
# NLFrfOS6Tgc4XP6qXDXQ7v61SldZtJdDEvkMo2CkXqxu8pDz4vw8G6CSMWPfCH5v
# vkZydxLw38mkp8OtGX/tYiGn5s7/N59B29nlDkfuyOaJXjjKb+kid1XE58Y5R3Lm
# FYEuyGYgOcycH/hLiFtAFQpYYxy2yrbaHnySCP/GkMftmynz2w49hCvXca6gtcxO
# MFwzxdzDkGpPGhgANP9P3xNuZceObq6nKOdlo/tI5vG3rQp5V/n6A8T3JWIWgRHd
# 71HNPYlLf53lYLbiOPAZ9SRaPjElcnJoIF0jrplOWfz8vo1NzanPV4MMOw480uFW
# HDD77dZWrFTox1Unmv1E/TS/85h5b93dbnG9XRiUUn+k8TGtBA71kDme2KEdTZzw
# 3eNkOHUyc6RIwaSjBHWKOfXsaxa9EmS33dfg/jiJ9EpyGie30/faGhK1SiMr9HEp
# 35s4qcpFE71eZKRqXojv8XQJmc5uRCIa30MWGwl0QoU1XaLrF2NUEPECdZRNOBCO
# Jrb+UWMEIsE=
# =RTPq
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 23 Sep 2025 11:32:41 PM PDT
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "[email protected]"
# gpg: Good signature from "Thomas Huth <[email protected]>" [unknown]
# gpg: aka "Thomas Huth <[email protected]>" [unknown]
# gpg: aka "Thomas Huth <[email protected]>" [unknown]
# gpg: aka "Thomas Huth <[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: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* tag 'pull-request-2025-09-24' of https://gitlab.com/thuth/qemu:
tests/functional: treat unknown exceptions as transient faults
tests/functional: retry when seeing ConnectionError exception
tests: Fix "make check-functional" for targets without thorough tests
tests/functional/hppa: Add a CD-ROM boot test for qemu-system-hppa
.gitlab-ci.d/buildtest.yml: Unset CI_COMMIT_DESCRIPTION for htags
tests/functional: use self.log for all logging
tests/functional: Use vmstate-static-checker.py to test data from v7.2
tests/data/vmstate-static-checker: Add dump files from QEMU 7.2.17
tests/functional: Test whether the vmstate-static-checker script works fine
tests: Move the old vmstate-static-checker files to tests/data/
tests/functional/s390x/test_pxelinux: Fix warnings from pylint
tests/functional/m68k: Use proper polling in the next-cube test
Signed-off-by: Richard Henderson <[email protected]>
Commit: 95b9e0d2ade5d633fd13ffba96a54e87c65baf39
https://github.com/qemu/qemu/commit/95b9e0d2ade5d633fd13ffba96a54e87c65baf39
Author: Richard Henderson <[email protected]>
Date: 2025-09-24 (Wed, 24 Sep 2025)
Changed paths:
M docs/devel/build-system.rst
M docs/devel/code-provenance.rst
M docs/devel/memory.rst
M docs/devel/rust.rst
M docs/system/devices/igb.rst
M hw/core/register.c
M hw/hyperv/hv-balloon.c
M hw/sd/sdhci.c
M hw/vfio/pci-quirks.c
M hw/vfio/pci.c
M hw/vfio/region.c
M hw/xen/xen_pt_msi.c
M linux-user/strace.c
M rust/Cargo.lock
M rust/bql/meson.build
M rust/common/meson.build
M rust/common/src/uninit.rs
M rust/hw/core/src/qdev.rs
M rust/hw/timer/hpet/src/device.rs
M rust/meson.build
M rust/migration/meson.build
M rust/migration/src/vmstate.rs
M rust/qemu-macros/Cargo.toml
M rust/qemu-macros/meson.build
M rust/qemu-macros/src/lib.rs
M rust/qemu-macros/src/tests.rs
M rust/qom/meson.build
M rust/util/meson.build
M scripts/archive-source.sh
M scripts/make-release
M subprojects/.gitignore
A subprojects/attrs-0.2-rs.wrap
A subprojects/packagefiles/attrs-0.2-rs/meson.build
Log Message:
-----------
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* qom: Do not unparent in instance_finalize
* linux-user: avoid -Werror=int-in-bool-context
* docs: use the pyvenv version of Meson
* rust: parse attributes using the attrs crate
* rust: complete conversion of qdev properties to proc macro
* docs: clarify AI-generated content policy
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmjTnTgUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNYUwf9EpJbiCN8Qif9JU3XQEaOMDGTDO07
# nMvn6RnRTFyn4iYzCc+pn6GFKWfJGZ6/cD9Qby7lyi3lHlhW8fLYbAcTXn1HoLNk
# lr/Ibmyaa8U2WP5u/QG+3dwn9zTgNFza3BFLguKrOhWjbv3ZL85xez29yChGgtYq
# sTUTigtl261JF4SvtOhzCMqUPo4wzqD0m0Vc/pjxrlgpHAb3rKf32Y6xPkNMVN84
# 81egbF0ZRtUbubjvGzPFstMdRcVBdrac5wnFPWum9GazuWwB4K8p2iBFdmuXMOhy
# NW6M8HP516zhoNk7bA5zQghxmhPWLXah4iA7MflAzLTI30s23TNIMCeJRw==
# =ug+J
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 24 Sep 2025 12:26:48 AM PDT
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "[email protected]"
# gpg: Good signature from "Paolo Bonzini <[email protected]>" [unknown]
# gpg: aka "Paolo Bonzini <[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: 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: (29 commits)
docs/code-provenance: AI exceptions are in addition to DCO
docs/code-provenance: make the exception process more prominent
docs/code-provenance: clarify scope very early
hw/xen: Do not unparent in instance_finalize()
vfio: Do not unparent in instance_finalize()
hw/sd/sdhci: Do not unparent in instance_finalize()
hv-balloon: hw/core/register: Do not unparent in instance_finalize()
hw/core/register: Do not unparent in instance_finalize()
vfio/pci: Do not unparent in instance_finalize()
docs/devel: Do not unparent in instance_finalize()
linux-user: avoid -Werror=int-in-bool-context
rust/qdev: Drop declare_properties & define_property macros
rust/hpet: Convert qdev properties to #property macro
rust/hpet: Clean up type mismatch for num_timers property
rust/qdev: Test bit property for #property
rust/qdev: Support bit property in #property macro
rust/qdev: Support property info for more common types
rust/qdev: Refine the documentation for QDevProp trait
rust/qdev: use addr_of! in QDevProp
rust/common/uninit: Fix Clippy's complaints about lifetime
...
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/ab8008b231e7...95b9e0d2ade5
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications