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: https://gitlab.com/bonzini/qemu.git 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) ---------------------------------------------------------------- * rust: cleanups * rust: integration tests * rust/pl011: add support for migration * rust/pl011: add TYPE_PL011_LUMINARY device * rust: add support for older compilers and bindgen ---------------------------------------------------------------- v1->v2: wrap bindgen check with "if have_rust" drop ci enablement v2->v3: fix formatting of pull request 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