The following changes since commit 1dae461a913f9da88df05de6e2020d3134356f2e:
Update version for v10.0.0-rc0 release (2025-03-18 10:18:14 -0400)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 64acc23c9793e86f2811345f3c122bf3ece8088b:
rust: hpet: fix decoding of timer registers (2025-03-21 14:23:11 +0100)
The bulk of the changes here are fixes to the vmstate bindings,
also including test cases, and to the Rust devices.
----------------------------------------------------------------
* 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
----------------------------------------------------------------
Paolo Bonzini (4):
qdev, rust/hpet: fix type of HPET "timers" property
rust: assertions: add static_assert
load_aout: replace bswap_needed with big_endian
rust: hpet: fix decoding of timer registers
Peter Maydell (4):
rust: Kconfig: Factor out whether PL011 is Rust or C
rust: Kconfig: Factor out whether HPET is Rust or C
hw/char/pl011: Pad PL011State struct to same size as Rust impl
rust: pl011: Check size of state struct at compile time
Pierrick Bouvier (1):
exec/cpu-all: remove BSWAP_NEEDED
Zhao Liu (15):
rust/vmstate: Remove unnecessary unsafe
rust/vmstate: Fix num_offset in vmstate macros
rust/vmstate: Fix num field when varray flags are set
rust/vmstate: Fix size field of VMStateField with VMS_ARRAY_OF_POINTER flag
rust/vmstate: Fix type check for varray in vmstate_struct
rust/vmstate: Fix "cannot infer type" error in vmstate_struct
rust/vmstate: Fix unnecessary VMState bound of with_varray_flag()
rust/vmstate: Relax array check when build varray in vmstate_struct
rust/vmstate: Re-implement VMState trait for timer binding
rust/vmstate: Support vmstate_validate
rust/vmstate: Add unit test for vmstate_of macro
rust/vmstate: Add unit test for vmstate_{of|struct} macro
rust/vmstate: Add unit test for pointer case
rust/vmstate: Add unit test for vmstate_validate
rust/vmstate: Include complete crate path of VMStateFlags in vmstate_clock
configs/devices/i386-softmmu/default.mak | 1 -
include/exec/cpu-all.h | 12 -
include/exec/poison.h | 1 -
include/hw/char/pl011.h | 5 +
include/hw/loader.h | 2 +-
include/hw/qdev-properties.h | 1 +
linux-user/syscall_defs.h | 2 +-
rust/wrapper.h | 1 +
bsd-user/elfload.c | 6 +-
hw/core/loader.c | 4 +-
hw/core/qdev-properties.c | 37 +++
hw/i386/fw_cfg.c | 2 +-
hw/i386/pc.c | 2 +-
hw/ppc/mac_newworld.c | 7 +-
hw/ppc/mac_oldworld.c | 7 +-
hw/sparc/sun4m.c | 9 +-
hw/sparc64/sun4u.c | 9 +-
linux-user/elfload.c | 8 +-
hw/arm/Kconfig | 30 +-
hw/char/Kconfig | 6 +
hw/char/meson.build | 2 +-
hw/timer/Kconfig | 8 +-
hw/timer/meson.build | 2 +-
rust/hw/char/pl011/src/device.rs | 9 +-
rust/hw/char/pl011/src/device_class.rs | 8 +-
rust/hw/timer/Kconfig | 1 -
rust/hw/timer/hpet/src/hpet.rs | 8 +-
rust/qemu-api/meson.build | 5 +-
rust/qemu-api/src/assertions.rs | 37 +++
rust/qemu-api/src/vmstate.rs | 100 +++++--
rust/qemu-api/tests/tests.rs | 2 +
rust/qemu-api/tests/vmstate_tests.rs | 477 +++++++++++++++++++++++++++++++
tests/qtest/meson.build | 3 +-
33 files changed, 705 insertions(+), 109 deletions(-)
create mode 100644 rust/qemu-api/tests/vmstate_tests.rs
--
2.49.0