[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 8/9] rust/hpet: Support migration
From: |
Paolo Bonzini |
Subject: |
Re: [PATCH 8/9] rust/hpet: Support migration |
Date: |
Tue, 15 Apr 2025 19:43:00 +0200 |
On Tue, Apr 15, 2025 at 4:21 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
> > An additional difficult case is vmsd(). Passing the raw VMStateDescription
> > looks not good, while passing the VMStateDescription<> wrapper requires
> > bounding DeviceImpl with 'static. Ultimately, I added an extra
> > StaticVMStateDescription trait to successfully compile...
>
> Hmm I cannot fully understand it so I'll check it out later.
So the problem is that, in a "&'a Foo<T>", T must also be "T: 'a".
One solution is for vmsd() to return an
Option<VMStateDescription<Self>>, and do Box::into_raw(Box::new(vmsd))
in the class_init method. Once we have const_refs_static, "fn vmsd()"
can become a const and the Box is not needed anymore.
Also please turn get_vmsd_ptr() into get_vmsd_ref() so that we get
more checks that things are not copied behind our back (leaving behind
a dangling pointer)
I attach the conversion I did of the other devices and tests. I am not
sure if it's possible to avoid having a huge patch to do everything at
once (except HPET since that can be added separately).
Paolo
0001-convert-everything-to-VMStateBuilder.patch
Description: Text Data
- Re: [PATCH 2/9] rust/vmstate: Support varray's num field wrapped in BqlCell, (continued)
- [PATCH 4/9] rust/vmstate_test: Fix typo in test_vmstate_macro_array_of_pointer_wrapped(), Zhao Liu, 2025/04/14
- [PATCH 6/9] rust/hpet: convert num_timers to u8 type, Zhao Liu, 2025/04/14
- [PATCH 3/9] rust/vmstate_test: Test varray with num field wrapped in BqlCell, Zhao Liu, 2025/04/14
- [PATCH 5/9] rust/timer: Define NANOSECONDS_PER_SECOND binding as u64, Zhao Liu, 2025/04/14
- [PATCH 8/9] rust/hpet: Support migration, Zhao Liu, 2025/04/14
- [PATCH 7/9] rust/hpet: convert HPETTimer index to u8 type, Zhao Liu, 2025/04/14
- [PATCH 9/9] rust/hpet: Fix a clippy error, Zhao Liu, 2025/04/14
- Re: [PATCH 0/9] rust/hpet: Initial support for migration, Paolo Bonzini, 2025/04/15