diff options
| author | Manos Pitsidianakis <manos.pitsidianakis@linaro.org> | 2024-10-25 07:55:50 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-11-05 14:18:16 +0100 |
| commit | 0a65e4124ad9c6dab594d738cac31fd32d19402c (patch) | |
| tree | 38bc823e1ede73b98a953a4e6fae3a7e6ac314ec /rust/qemu-api/src/device_class.rs | |
| parent | f60f3670fd15edaa9dc6471dde26703b4417b815 (diff) | |
| download | focaccia-qemu-0a65e4124ad9c6dab594d738cac31fd32d19402c.tar.gz focaccia-qemu-0a65e4124ad9c6dab594d738cac31fd32d19402c.zip | |
rust: add definitions for vmstate
Add a new qemu_api module, `vmstate`. Declare a bunch of Rust macros declared that are equivalent in spirit to the C macros in include/migration/vmstate.h. For example the Rust of equivalent of the C macro: VMSTATE_UINT32(field_name, struct_name) is: vmstate_uint32!(field_name, StructName) This breathtaking development will allow us to reach feature parity between the Rust and C pl011 implementations. Extracted from a patch by Manos Pitsidianakis (https://lore.kernel.org/qemu-devel/20241024-rust-round-2-v1-4-051e7a25b978@linaro.org/). Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/src/device_class.rs')
| -rw-r--r-- | rust/qemu-api/src/device_class.rs | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/rust/qemu-api/src/device_class.rs b/rust/qemu-api/src/device_class.rs index aa6088d9d3..3d40256f60 100644 --- a/rust/qemu-api/src/device_class.rs +++ b/rust/qemu-api/src/device_class.rs @@ -62,24 +62,3 @@ macro_rules! declare_properties { ]; }; } - -#[macro_export] -macro_rules! vm_state_description { - ($(#[$outer:meta])* - $name:ident, - $(name: $vname:expr,)* - $(unmigratable: $um_val:expr,)* - ) => { - #[used] - $(#[$outer])* - pub static $name: $crate::bindings::VMStateDescription = $crate::bindings::VMStateDescription { - $(name: { - #[used] - static VMSTATE_NAME: &::core::ffi::CStr = $vname; - $vname.as_ptr() - },)* - unmigratable: true, - ..$crate::zeroable::Zeroable::ZERO - }; - } -} |