[Qemu-devel] [PATCH] xen-pvdevice: Introduce a simplistic xen-pvdevice save state
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 --- 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
Re: [Qemu-devel] [PATCH] xen-pvdevice: Introduce a simplistic xen-pvdevice save state
On Thu, Mar 08, 2018 at 12:52:31PM +, 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 Acked-by: Anthony PERARD Thanks, -- Anthony PERARD
Re: [Qemu-devel] [PATCH] xen-pvdevice: Introduce a simplistic xen-pvdevice save state
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 > --- > 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 >
Re: [Qemu-devel] [PATCH] xen-pvdevice: Introduce a simplistic xen-pvdevice save state
> -Original Message- > From: Igor Druzhinin [mailto:igor.druzhi...@citrix.com] > Sent: 08 March 2018 12:53 > To: qemu-devel@nongnu.org; xen-de...@lists.xenproject.org > Cc: sstabell...@kernel.org; Paul Durrant ; Anthony > Perard ; m...@redhat.com; > pbonz...@redhat.com; Igor Druzhinin > Subject: [PATCH] xen-pvdevice: Introduce a simplistic xen-pvdevice save > state > > 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 Reviewed-by: Paul Durrant > --- > 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