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