aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api/tests/tests.rs
diff options
context:
space:
mode:
authorManos Pitsidianakis <manos.pitsidianakis@linaro.org>2024-10-25 07:55:50 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-11-05 14:18:16 +0100
commit0a65e4124ad9c6dab594d738cac31fd32d19402c (patch)
tree38bc823e1ede73b98a953a4e6fae3a7e6ac314ec /rust/qemu-api/tests/tests.rs
parentf60f3670fd15edaa9dc6471dde26703b4417b815 (diff)
downloadqemu-0a65e4124ad9c6dab594d738cac31fd32d19402c.zip
qemu-0a65e4124ad9c6dab594d738cac31fd32d19402c.tar.gz
qemu-0a65e4124ad9c6dab594d738cac31fd32d19402c.tar.bz2
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/tests/tests.rs')
-rw-r--r--rust/qemu-api/tests/tests.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/rust/qemu-api/tests/tests.rs b/rust/qemu-api/tests/tests.rs
index aa1e056..37c4dd4 100644
--- a/rust/qemu-api/tests/tests.rs
+++ b/rust/qemu-api/tests/tests.rs
@@ -8,17 +8,18 @@ use qemu_api::{
bindings::*,
declare_properties, define_property,
definitions::{Class, ObjectImpl},
- device_class_init, vm_state_description,
+ device_class_init,
+ zeroable::Zeroable,
};
#[test]
fn test_device_decl_macros() {
// Test that macros can compile.
- vm_state_description! {
- VMSTATE,
- name: c"name",
+ pub static VMSTATE: VMStateDescription = VMStateDescription {
+ name: c"name".as_ptr(),
unmigratable: true,
- }
+ ..Zeroable::ZERO
+ };
#[repr(C)]
#[derive(qemu_api_macros::Object)]