Message ID | 1520513551-19851-1-git-send-email-igor.druzhinin@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Mar 08, 2018 at 12:52:31PM +0000, Igor Druzhinin wrote: > This should help to avoid problems with accessing the device after > migration/resume without PV drivers. Older systems will acquire > the new record when migrated which should not change their state for > worse. > > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> Acked-by: Anthony PERARD <anthony.perard@citrix.com> Thanks,
On Thu, 8 Mar 2018, Igor Druzhinin wrote: > This should help to avoid problems with accessing the device after > migration/resume without PV drivers. Older systems will acquire > the new record when migrated which should not change their state for > worse. Could you please explain what problems this patch is helping avoid? And also how this patch is helping exactly? Please add more concrete info. > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> > --- > hw/i386/xen/xen_pvdevice.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/i386/xen/xen_pvdevice.c b/hw/i386/xen/xen_pvdevice.c > index c093b34..ef22a03 100644 > --- a/hw/i386/xen/xen_pvdevice.c > +++ b/hw/i386/xen/xen_pvdevice.c > @@ -71,6 +71,16 @@ static const MemoryRegionOps xen_pv_mmio_ops = { > .endianness = DEVICE_LITTLE_ENDIAN, > }; > > +static const VMStateDescription vmstate_xen_pvdevice = { > + .name = "xen-pvdevice", > + .version_id = 1, > + .minimum_version_id = 1, > + .fields = (VMStateField[]) { > + VMSTATE_PCI_DEVICE(parent_obj, XenPVDevice), > + VMSTATE_END_OF_LIST() > + } > +}; > + > static void xen_pv_realize(PCIDevice *pci_dev, Error **errp) > { > XenPVDevice *d = XEN_PV_DEVICE(pci_dev); > @@ -120,6 +130,7 @@ static void xen_pv_class_init(ObjectClass *klass, void *data) > k->class_id = PCI_CLASS_SYSTEM_OTHER; > dc->desc = "Xen PV Device"; > dc->props = xen_pv_props; > + dc->vmsd = &vmstate_xen_pvdevice; > } > > static const TypeInfo xen_pv_type_info = { > -- > 2.7.4 >
diff --git a/hw/i386/xen/xen_pvdevice.c b/hw/i386/xen/xen_pvdevice.c index c093b34..ef22a03 100644 --- a/hw/i386/xen/xen_pvdevice.c +++ b/hw/i386/xen/xen_pvdevice.c @@ -71,6 +71,16 @@ static const MemoryRegionOps xen_pv_mmio_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; +static const VMStateDescription vmstate_xen_pvdevice = { + .name = "xen-pvdevice", + .version_id = 1, + .minimum_version_id = 1, + .fields = (VMStateField[]) { + VMSTATE_PCI_DEVICE(parent_obj, XenPVDevice), + VMSTATE_END_OF_LIST() + } +}; + static void xen_pv_realize(PCIDevice *pci_dev, Error **errp) { XenPVDevice *d = XEN_PV_DEVICE(pci_dev); @@ -120,6 +130,7 @@ static void xen_pv_class_init(ObjectClass *klass, void *data) k->class_id = PCI_CLASS_SYSTEM_OTHER; dc->desc = "Xen PV Device"; dc->props = xen_pv_props; + dc->vmsd = &vmstate_xen_pvdevice; } static const TypeInfo xen_pv_type_info = {
This should help to avoid problems with accessing the device after migration/resume without PV drivers. Older systems will acquire the new record when migrated which should not change their state for worse. Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> --- hw/i386/xen/xen_pvdevice.c | 11 +++++++++++ 1 file changed, 11 insertions(+)