The following changes since commit f8a113701dd2d28f3bedb216e59125ddcb77fd05:
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2025-06-04 11:43:31 -0400) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 3f9bdfb0dc8162cbc080c868625336178ddcda56: tests/tcg/x86_64/fma: add test for exact-denormal output (2025-06-06 14:32:55 +0200) ---------------------------------------------------------------- * futex: support Windows * qemu-thread: Avoid futex abstraction for non-Linux * migration, hw/display/apple-gfx: replace QemuSemaphore with QemuEvent * rust: bindings for Error * hpet, rust/hpet: return errors from realize if properties are incorrect * rust/hpet: Drop BqlCell wrapper for num_timers * target/i386: Emulate ftz and denormal flag bits correctly * i386/kvm: Prefault memory on page state change ---------------------------------------------------------------- Akihiko Odaki (11): futex: Check value after qemu_futex_wait() futex: Support Windows qemu-thread: Replace __linux__ with CONFIG_LINUX qemu-thread: Avoid futex abstraction for non-Linux qemu-thread: Use futex for QemuEvent on Windows qemu-thread: Use futex if available for QemuLockCnt qemu-thread: Document QemuEvent migration: Replace QemuSemaphore with QemuEvent migration/colo: Replace QemuSemaphore with QemuEvent migration/postcopy: Replace QemuSemaphore with QemuEvent hw/display/apple-gfx: Replace QemuSemaphore with QemuEvent Paolo Bonzini (14): subprojects: add the anyhow crate subprojects: add the foreign crate util/error: expose Error definition to Rust code util/error: allow non-NUL-terminated err->src util/error: make func optional rust: qemu-api: add bindings to Error rust: qemu-api: add tests for Error bindings rust: qdev: support returning errors from realize rust/hpet: change type of num_timers to usize hpet: adjust VMState for consistency with Rust version hpet: return errors from realize if properties are incorrect rust/hpet: return errors from realize if properties are incorrect docs: update Rust module status rust: make TryFrom macro more resilient Peter Maydell (4): target/i386: Detect flush-to-zero after rounding target/i386: Use correct type for get_float_exception_flags() values target/i386: Wire up MXCSR.DE and FPUS.DE correctly tests/tcg/x86_64/fma: add test for exact-denormal output Tom Lendacky (1): i386/kvm: Prefault memory on page state change Zhao Liu (1): rust/hpet: Drop BqlCell wrapper for num_timers docs/devel/rust.rst | 7 +- meson.build | 7 + include/qapi/error-internal.h | 35 ++ include/qemu/futex.h | 44 ++- include/qemu/lockcnt.h | 2 +- include/qemu/thread-posix.h | 9 - include/qemu/thread-win32.h | 6 - include/qemu/thread.h | 21 +- include/system/kvm.h | 1 + migration/migration.h | 12 +- rust/wrapper.h | 1 + target/i386/ops_sse.h | 16 +- accel/kvm/kvm-all.c | 2 + hw/timer/hpet.c | 21 +- migration/colo.c | 20 +- migration/migration.c | 21 +- migration/postcopy-ram.c | 10 +- migration/savevm.c | 2 +- target/i386/kvm/kvm.c | 31 +- target/i386/tcg/fpu_helper.c | 101 +++-- tests/tcg/x86_64/fma.c | 17 +- tests/unit/test-aio-multithread.c | 6 +- util/error.c | 20 +- util/event.c | 171 +++++++++ util/lockcnt.c | 9 +- util/qemu-thread-posix.c | 148 -------- util/qemu-thread-win32.c | 129 ------- hw/display/apple-gfx.m | 10 +- rust/Cargo.lock | 17 + rust/Cargo.toml | 1 + rust/hw/char/pl011/src/device.rs | 5 +- rust/hw/timer/hpet/src/device.rs | 62 ++- rust/hw/timer/hpet/src/fw_cfg.rs | 7 +- rust/meson.build | 4 + rust/qemu-api-macros/src/lib.rs | 7 +- rust/qemu-api/Cargo.toml | 2 + rust/qemu-api/meson.build | 3 +- rust/qemu-api/src/error.rs | 416 +++++++++++++++++++++ rust/qemu-api/src/lib.rs | 3 + rust/qemu-api/src/qdev.rs | 12 +- scripts/archive-source.sh | 5 +- scripts/make-release | 5 +- subprojects/.gitignore | 2 + subprojects/anyhow-1-rs.wrap | 7 + subprojects/foreign-0.3-rs.wrap | 7 + subprojects/packagefiles/anyhow-1-rs/meson.build | 33 ++ .../packagefiles/foreign-0.3-rs/meson.build | 26 ++ util/meson.build | 3 +- 48 files changed, 1018 insertions(+), 488 deletions(-) create mode 100644 include/qapi/error-internal.h create mode 100644 util/event.c create mode 100644 rust/qemu-api/src/error.rs create mode 100644 subprojects/anyhow-1-rs.wrap create mode 100644 subprojects/foreign-0.3-rs.wrap create mode 100644 subprojects/packagefiles/anyhow-1-rs/meson.build create mode 100644 subprojects/packagefiles/foreign-0.3-rs/meson.build -- 2.49.0