The following changes since commit 11b8920ed2093848f79f93d106afe8a69a61a523:
Merge tag 'pull-request-2024-11-04' of https://gitlab.com/thuth/qemu into staging (2024-11-04 17:37:59 +0000)
are available in the Git repository at:
tags/for-upstream-rust
for you to fetch changes up to 951f71ad67bd474aba6925529daf45b747aac86e:
dockerfiles: install bindgen from cargo on Ubuntu 22.04 (2024-11-06 17:12:17 +0100)
----------------------------------------------------------------
v1->v2: wrap bindgen check with "if have_rust"
drop ci enablement
Junjie Mao (1):
rust: introduce alternative implementation of offset_of!
Manos Pitsidianakis (9):
rust/wrapper.h: define memory_order enum
Revert "rust: add PL011 device model"
rust: add PL011 device model
rust: add definitions for vmstate
rust/pl011: add support for migration
rust/pl011: move CLK_NAME static to function scope
rust/pl011: add TYPE_PL011_LUMINARY device
rust/pl011: remove commented out C code
rust/pl011: Use correct masks for IBRD and FBRD
Paolo Bonzini (29):
qdev: make properties array "const"
meson: import rust module into a global variable
meson: remove repeated search for rust_root_crate.sh
meson: pass rustc_args when building all crates
rust: do not always select X_PL011_RUST
rust: do not use --no-size_t-is-usize
rust: remove uses of #[no_mangle]
rust: modernize link_section usage for ELF platforms
rust: build integration test for the qemu_api crate
rust: cleanup module_init!, use it from #[derive(Object)]
rust: clean up define_property macro
rust: make properties array immutable
rust: provide safe wrapper for MaybeUninit::zeroed()
rust: do not use TYPE_CHARDEV unnecessarily
rust/pl011: fix default value for migrate-clock
rust: patch bilge-impl to allow compilation with 1.63.0
rust: fix cfgs of proc-macro2 for 1.63.0
rust: use std::os::raw instead of core::ffi
rust: introduce a c_str macro
rust: silence unknown warnings for the sake of old compilers
rust: synchronize dependencies between subprojects and Cargo.lock
rust: create a cargo workspace
rust: do not use MaybeUninit::zeroed()
rust: clean up detection of the language
rust: allow version 1.63.0 of rustc
rust: do not use --generate-cstr
rust: allow older version of bindgen
rust: make rustfmt optional
dockerfiles: install bindgen from cargo on Ubuntu 22.04
docs/about/build-platforms.rst | 12 +
meson.build | 137 +++++---
include/hw/qdev-core.h | 4 +-
include/hw/qdev-properties.h | 4 +-
rust/wrapper.h | 17 +
hw/core/qdev-properties.c | 26 +-
system/qdev-monitor.c | 2 +-
.gitattributes | 2 +
.gitlab-ci.d/buildtest.yml | 2 +-
meson_options.txt | 2 +
rust/{hw/char/pl011 => }/Cargo.lock | 4 +
rust/Cargo.toml | 7 +
rust/hw/char/Kconfig | 1 -
rust/hw/char/pl011/Cargo.toml | 3 -
rust/hw/char/pl011/src/device.rs | 162 +++++++---
rust/hw/char/pl011/src/device_class.rs | 80 ++++-
rust/hw/char/pl011/src/lib.rs | 6 +-
rust/hw/char/pl011/src/memory_ops.rs | 24 +-
rust/qemu-api-macros/Cargo.lock | 47 ---
rust/qemu-api-macros/Cargo.toml | 5 +-
rust/qemu-api-macros/meson.build | 2 +-
rust/qemu-api-macros/src/lib.rs | 103 ++++--
rust/qemu-api/Cargo.lock | 7 -
rust/qemu-api/Cargo.toml | 10 +-
rust/qemu-api/build.rs | 9 +
rust/qemu-api/meson.build | 44 ++-
rust/qemu-api/src/c_str.rs | 53 +++
rust/qemu-api/src/definitions.rs | 68 ++--
rust/qemu-api/src/device_class.rs | 114 ++-----
rust/qemu-api/src/lib.rs | 23 +-
rust/qemu-api/src/offset_of.rs | 161 +++++++++
rust/qemu-api/src/tests.rs | 49 ---
rust/qemu-api/src/vmstate.rs | 360 +++++++++++++++++++++
rust/qemu-api/src/zeroable.rs | 86 +++++
rust/qemu-api/tests/tests.rs | 79 +++++
scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 1 -
scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 1 -
scripts/meson-buildoptions.sh | 4 +
subprojects/bilge-impl-0.2-rs.wrap | 1 +
subprojects/packagefiles/bilge-impl-1.63.0.patch | 45 +++
.../packagefiles/proc-macro2-1-rs/meson.build | 4 +-
subprojects/packagefiles/syn-2-rs/meson.build | 1 +
tests/docker/dockerfiles/ubuntu2204.docker | 6 +-
tests/lcitool/mappings.yml | 4 +
tests/lcitool/refresh | 11 +-
45 files changed, 1379 insertions(+), 414 deletions(-)
rename rust/{hw/char/pl011 => }/Cargo.lock (98%)
create mode 100644 rust/Cargo.toml
delete mode 100644 rust/qemu-api-macros/Cargo.lock
delete mode 100644 rust/qemu-api/Cargo.lock
create mode 100644 rust/qemu-api/src/c_str.rs
create mode 100644 rust/qemu-api/src/offset_of.rs
delete mode 100644 rust/qemu-api/src/tests.rs
create mode 100644 rust/qemu-api/src/vmstate.rs
create mode 100644 rust/qemu-api/src/zeroable.rs
create mode 100644 rust/qemu-api/tests/tests.rs
create mode 100644 subprojects/packagefiles/bilge-impl-1.63.0.patch
--
2.47.0