|
27 | 27 | use core::{marker::PhantomData, mem, ptr::NonNull};
|
28 | 28 |
|
29 | 29 | pub use crate::bindings::{VMStateDescription, VMStateField};
|
30 |
| -use crate::{ |
31 |
| - bindings::{self, VMStateFlags}, |
32 |
| - prelude::*, |
33 |
| - qom::Owned, |
34 |
| - zeroable::Zeroable, |
35 |
| -}; |
| 30 | +use crate::{bindings::VMStateFlags, prelude::*, qom::Owned, zeroable::Zeroable}; |
36 | 31 |
|
37 | 32 | /// This macro is used to call a function with a generic argument bound
|
38 | 33 | /// to the type of a field. The function must take a
|
@@ -344,6 +339,7 @@ impl_vmstate_transparent!(std::cell::UnsafeCell<T> where T: VMState);
|
344 | 339 | impl_vmstate_transparent!(std::pin::Pin<T> where T: VMState);
|
345 | 340 | impl_vmstate_transparent!(crate::cell::BqlCell<T> where T: VMState);
|
346 | 341 | impl_vmstate_transparent!(crate::cell::BqlRefCell<T> where T: VMState);
|
| 342 | +impl_vmstate_transparent!(crate::cell::Opaque<T> where T: VMState); |
347 | 343 |
|
348 | 344 | #[macro_export]
|
349 | 345 | macro_rules! impl_vmstate_bitsized {
|
@@ -390,7 +386,7 @@ impl_vmstate_scalar!(vmstate_info_uint8, u8, VMS_VARRAY_UINT8);
|
390 | 386 | impl_vmstate_scalar!(vmstate_info_uint16, u16, VMS_VARRAY_UINT16);
|
391 | 387 | impl_vmstate_scalar!(vmstate_info_uint32, u32, VMS_VARRAY_UINT32);
|
392 | 388 | impl_vmstate_scalar!(vmstate_info_uint64, u64);
|
393 |
| -impl_vmstate_scalar!(vmstate_info_timer, bindings::QEMUTimer); |
| 389 | +impl_vmstate_scalar!(vmstate_info_timer, crate::timer::Timer); |
394 | 390 |
|
395 | 391 | // Pointer types using the underlying type's VMState plus VMS_POINTER
|
396 | 392 | // Note that references are not supported, though references to cells
|
|
0 commit comments