Re: [PULL 00/31] Threading, Rust, i386 changes for 2025-06-06

2025-06-06 Thread Stefan Hajnoczi
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/10.1 for any 
user-visible changes.


signature.asc
Description: PGP signature


[PULL 00/31] Threading, Rust, i386 changes for 2025-06-06

2025-06-06 Thread Paolo Bonzini
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 +-