[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 00/49] rust, QOM, kvm changes for 2024-12-11
From: |
Paolo Bonzini |
Subject: |
[PULL 00/49] rust, QOM, kvm changes for 2024-12-11 |
Date: |
Wed, 11 Dec 2024 17:26:30 +0100 |
The following changes since commit ae35f033b874c627d81d51070187fbf55f0bf1a7:
Update version for v9.2.0 release (2024-12-10 16:20:54 +0000)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 166e8a1fd15bfa527b25fc15ca315e572c0556d2:
rust: qom: change the parent type to an associated type (2024-12-11 15:57:19
+0100)
----------------------------------------------------------------
* rust: better integration with clippy, rustfmt and rustdoc
* rust: interior mutability types
* rust: add a bit operations module
* rust: first part of QOM rework
* kvm: remove unnecessary #ifdef
* clock: small cleanups, improve handling of Clock lifetimes
----------------------------------------------------------------
Junjie Mao (1):
rust/qemu-api: Fix fragment-specifiers in define_property macro
Paolo Bonzini (32):
ci: enable rust in the Debian and Ubuntu system build job
rust: apply --cfg MESON to all crates
rust: allow using build-root bindings.rs from cargo
rust: build: move rustc_args.py invocation to qemu-api crate
rust: build: restrict --cfg generation to only required symbols
rust: build: generate lint flags from Cargo.toml
rust: cargo: store desired warning levels in workspace Cargo.toml
rust: build: move strict lints handling to rustc_args.py
rust: fix a couple style issues from clippy
rust: build: establish a baseline of lints across all crates
rust: build: add "make clippy", "make rustfmt", "make rustdoc"
rust: ci: add job that runs Rust tools
rust: fix doc test syntax
clock: clear callback on unparent
clock: treat outputs and inputs the same in NamedClockList
clock: inline most of qdev_init_clocklist
kvm: remove unnecessary #ifdef
bql: check that the BQL is not dropped within marked sections
rust: cell: add BQL-enforcing Cell variant
rust: cell: add BQL-enforcing RefCell variant
rust: define prelude
rust: add bindings for interrupt sources
rust: add a bit operation module
rust: qom: add default definitions for ObjectImpl
rust: qom: rename Class trait to ClassInitImpl
rust: qom: convert type_info! macro to an associated const
rust: qom: move ClassInitImpl to the instance side
rust: qdev: move device_class_init! body to generic function,
ClassInitImpl implementation to macro
rust: qdev: move bridge for realize and reset functions out of pl011
rust: qom: move bridge for TypeInfo functions out of pl011
rust: qom: split ObjectType from ObjectImpl trait
rust: qom: change the parent type to an associated type
Zhao Liu (16):
arm: Replace type_register() with type_register_static()
hw/block: Replace type_register() with type_register_static()
hw/net: Replace type_register() with type_register_static()
ppc: Replace type_register() with type_register_static()
hw/rtc: Replace type_register() with type_register_static()
hw/scsi: Replace type_register() with type_register_static()
hw/sensor: Replace type_register() with type_register_static()
hw/usb: Replace type_register() with type_register_static()
hw/virtio: Replace type_register() with type_register_static()
i386: Replace type_register() with type_register_static()
target/mips: Replace type_register() with type_register_static()
target/sparc: Replace type_register() with type_register_static()
target/xtensa: Replace type_register() with type_register_static()
ui: Replace type_register() with type_register_static()
script/codeconverter/qom_type_info: Deprecate MakeTypeRegisterStatic and
MakeTypeRegisterNotStatic
qom/object: Remove type_register()
meson.build | 57 +-
include/hw/clock.h | 8 -
include/hw/i386/pc.h | 4 +-
include/qemu/main-loop.h | 15 +
include/qom/object.h | 14 -
target/i386/kvm/kvm_i386.h | 11 +-
hw/arm/armsse.c | 2 +-
hw/arm/smmuv3.c | 4 +-
hw/block/m25p80.c | 2 +-
hw/core/clock.c | 22 +-
hw/core/qdev-clock.c | 86 +--
hw/net/e1000.c | 2 +-
hw/net/eepro100.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/rtc/m48t59-isa.c | 2 +-
hw/rtc/m48t59.c | 2 +-
hw/scsi/megasas.c | 2 +-
hw/scsi/mptsas.c | 2 +-
hw/sensor/tmp421.c | 2 +-
hw/usb/hcd-ehci-pci.c | 2 +-
hw/usb/hcd-uhci.c | 2 +-
hw/virtio/virtio-pci.c | 8 +-
qom/object.c | 7 +-
stubs/iothread-lock.c | 15 +
system/cpus.c | 15 +
target/arm/cpu.c | 2 +-
target/arm/cpu64.c | 2 +-
target/i386/cpu.c | 2 +-
target/mips/cpu.c | 2 +-
target/ppc/kvm.c | 2 +-
target/sparc/cpu.c | 2 +-
target/xtensa/helper.c | 2 +-
ui/console-vc.c | 2 +-
ui/dbus.c | 2 +-
ui/gtk.c | 2 +-
ui/spice-app.c | 2 +-
.gitlab-ci.d/buildtest.yml | 4 +-
.gitlab-ci.d/static_checks.yml | 24 +
rust/Cargo.toml | 82 ++
rust/hw/char/pl011/.gitignore | 2 -
rust/hw/char/pl011/Cargo.toml | 3 +
rust/hw/char/pl011/src/device.rs | 124 ++--
rust/hw/char/pl011/src/device_class.rs | 34 -
rust/hw/char/pl011/src/lib.rs | 19 +-
rust/hw/char/pl011/src/memory_ops.rs | 4 +-
rust/meson.build | 22 +
rust/qemu-api-macros/Cargo.toml | 3 +
rust/qemu-api/.gitignore | 2 +-
rust/qemu-api/Cargo.toml | 8 +-
rust/qemu-api/README.md | 10 +-
rust/qemu-api/build.rs | 39 +-
rust/qemu-api/meson.build | 14 +-
rust/qemu-api/src/bindings.rs | 29 +
rust/qemu-api/src/bitops.rs | 119 +++
rust/qemu-api/src/cell.rs | 822 +++++++++++++++++++++
rust/qemu-api/src/definitions.rs | 149 +++-
rust/qemu-api/src/device_class.rs | 126 +++-
rust/qemu-api/src/irq.rs | 91 +++
rust/qemu-api/src/lib.rs | 29 +-
rust/qemu-api/src/prelude.rs | 10 +
rust/qemu-api/src/sysbus.rs | 33 +
rust/qemu-api/src/zeroable.rs | 6 +-
rust/qemu-api/tests/tests.rs | 43 +-
.../codeconverter/codeconverter/qom_type_info.py | 20 -
scripts/rust/rustc_args.py | 181 ++++-
.../docker/dockerfiles/fedora-rust-nightly.docker | 4 +
tests/lcitool/refresh | 4 +
67 files changed, 1927 insertions(+), 445 deletions(-)
delete mode 100644 rust/hw/char/pl011/.gitignore
create mode 100644 rust/qemu-api/src/bindings.rs
create mode 100644 rust/qemu-api/src/bitops.rs
create mode 100644 rust/qemu-api/src/cell.rs
create mode 100644 rust/qemu-api/src/irq.rs
create mode 100644 rust/qemu-api/src/prelude.rs
create mode 100644 rust/qemu-api/src/sysbus.rs
--
2.47.1
- [PULL 00/49] rust, QOM, kvm changes for 2024-12-11,
Paolo Bonzini <=
- [PULL 01/49] ci: enable rust in the Debian and Ubuntu system build job, Paolo Bonzini, 2024/12/11
- [PULL 02/49] rust: apply --cfg MESON to all crates, Paolo Bonzini, 2024/12/11
- [PULL 04/49] rust: build: move rustc_args.py invocation to qemu-api crate, Paolo Bonzini, 2024/12/11
- [PULL 05/49] rust: build: restrict --cfg generation to only required symbols, Paolo Bonzini, 2024/12/11
- [PULL 03/49] rust: allow using build-root bindings.rs from cargo, Paolo Bonzini, 2024/12/11
- [PULL 06/49] rust: build: generate lint flags from Cargo.toml, Paolo Bonzini, 2024/12/11
- [PULL 07/49] rust: cargo: store desired warning levels in workspace Cargo.toml, Paolo Bonzini, 2024/12/11
- [PULL 09/49] rust: fix a couple style issues from clippy, Paolo Bonzini, 2024/12/11
- [PULL 10/49] rust: build: establish a baseline of lints across all crates, Paolo Bonzini, 2024/12/11
- [PULL 11/49] rust: build: add "make clippy", "make rustfmt", "make rustdoc", Paolo Bonzini, 2024/12/11