Il mer 1 lug 2026, 17:30 Magnus Kulke <[email protected]> ha scritto:
> On Fri, Jun 26, 2026 at 09:27:20AM +0200, Paolo Bonzini wrote: > > Il ven 17 apr 2026, 12:57 Magnus Kulke <[email protected]> > ha > > scritto: > > > > > +#ifdef CONFIG_MSHV > > > > + VMSTATE_BUFFER(hv_lapic_state, APICCommonState), > > > > +#endif > > > > > > This breaks migration across releases for everyone else, and also across > > builds that have different --enable-mshv. Compile-time defines are almost > > always wrong in VMState definitions. > > > > DeviceState *vapic; > > > hwaddr vapic_paddr; /* note: persistence via kvmvapic */ > > > uint32_t extended_log_dest; > > > + > > > +#ifdef CONFIG_MSHV > > > + uint8_t hv_lapic_state[sizeof(struct > > > hv_local_interrupt_controller_state)]; > > > +#endif > > > > > > > No, this is called common for a reason. You need to implement a subclass > > and handle migration in there. > > > > makes sense. I think I found a way to put the additional fields into a > subclass. What are the additional fields that aren't covered (i.e. cannot be copied from hv_lapic_state to the struct and back) by the common APIC state? Paolo the apic_id is semantic, so we cannot use the auto-wiring > dc->vmds state, but APIC_COMMON is doing the same. I'll send a revised > patch > soon. > > thanks, > > magnus > >
