mbox

[PULL,00/24] Mostly Rust changes for QEMU 10.0

Message ID 20250321183556.155097-1-pbonzini@redhat.com (mailing list archive)
State New
Headers show

Pull-request

https://gitlab.com/bonzini/qemu.git tags/for-upstream

Message

Paolo Bonzini March 21, 2025, 6:35 p.m. UTC
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

Comments

Stefan Hajnoczi March 23, 2025, 10:30 p.m. UTC | #1
Applied, thanks.

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