mbox

[PULL,00/25] (Mostly) Rust patches for QEMU 10.0 soft freeze

Message ID 20250309103120.1116448-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 9, 2025, 10:30 a.m. UTC
The following changes since commit e8a01102936286e012ed0f00bd7f3b7474d415c9:

  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2025-03-05 21:58:23 +0800)

are available in the Git repository at:

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

for you to fetch changes up to 816945364f698ae750aa665fce3d121c98e37a6f:

  rust: pl011: Allow NULL chardev argument to pl011_create() (2025-03-09 11:25:10 +0100)

----------------------------------------------------------------
* scripts: dump stdin on meson-buildoptions error
* rust: introduce qemu_api::cell::Opaque<>
* rust: express pinning requirements for timers
* rust: hpet: decode HPET registers into enums
* rust: cell: add full example of declaring a SysBusDevice
* rust: qom: remove operations on &mut

----------------------------------------------------------------
Alex Bennée (1):
      meson.build: default to -gsplit-dwarf for debug info

Nabih Estefan (1):
      scripts: dump stdin on meson-buildoptions error

Paolo Bonzini (22):
      chardev: express dependency on io/
      rust: cell: add wrapper for FFI types
      rust: qemu_api_macros: add Wrapper derive macro
      rust: vmstate: add std::pin::Pin as transparent wrapper
      rust: hpet: embed Timer without the Option and Box indirection
      rust: timer: wrap QEMUTimer with Opaque<> and express pinning requirements
      rust: irq: wrap IRQState with Opaque<>
      rust: qom: wrap Object with Opaque<>
      rust: qdev: wrap Clock and DeviceState with Opaque<>
      rust: hpet: do not access fields of SysBusDevice
      rust: sysbus: wrap SysBusDevice with Opaque<>
      rust: memory: wrap MemoryRegion with Opaque<>
      rust: chardev: wrap Chardev with Opaque<>
      rust: bindings: remove more unnecessary Send/Sync impls
      rust: chardev: provide basic bindings to character devices
      rust: pl011: move register definitions out of lib.rs
      rust: pl011: clean up visibilities of callbacks
      rust: pl011: switch to safe chardev operation
      rust: pl011: pass around registers::Data
      rust: hpet: decode HPET registers into enums
      rust: cell: add full example of declaring a SysBusDevice
      rust: qom: remove operations on &mut

Peter Maydell (1):
      rust: pl011: Allow NULL chardev argument to pl011_create()

 docs/devel/rust.rst                 |  36 ++-
 meson.build                         |  15 +-
 meson_options.txt                   |   2 +
 rust/Cargo.toml                     |   2 +
 rust/hw/char/pl011/src/device.rs    | 155 ++++-------
 rust/hw/char/pl011/src/lib.rs       | 511 +-----------------------------------
 rust/hw/char/pl011/src/registers.rs | 506 +++++++++++++++++++++++++++++++++++
 rust/hw/timer/hpet/src/hpet.rs      | 291 ++++++++++----------
 rust/qemu-api-macros/src/lib.rs     |  90 ++++++-
 rust/qemu-api/meson.build           |  24 +-
 rust/qemu-api/src/bindings.rs       |  26 +-
 rust/qemu-api/src/cell.rs           | 277 ++++++++++++++++++-
 rust/qemu-api/src/chardev.rs        | 248 ++++++++++++++++-
 rust/qemu-api/src/irq.rs            |  15 +-
 rust/qemu-api/src/memory.rs         |  32 +--
 rust/qemu-api/src/prelude.rs        |   1 -
 rust/qemu-api/src/qdev.rs           |  75 ++++--
 rust/qemu-api/src/qom.rs            | 118 ++-------
 rust/qemu-api/src/sysbus.rs         |  40 ++-
 rust/qemu-api/src/timer.rs          |  47 +++-
 rust/qemu-api/src/vmstate.rs        |   3 +-
 rust/qemu-api/src/zeroable.rs       |   1 +
 rust/qemu-api/tests/tests.rs        |  34 +--
 scripts/meson-buildoptions.py       |  10 +-
 scripts/meson-buildoptions.sh       |   2 +
 25 files changed, 1551 insertions(+), 1010 deletions(-)
 create mode 100644 rust/hw/char/pl011/src/registers.rs