* [Qemu-devel] [PULL] non-migratable devices
@ 2011-07-20 10:09 Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 1/9] vmstate: add no_migrate flag to VMStateDescription Gerd Hoffmann
` (10 more replies)
0 siblings, 11 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Hi,
This patch series adds an easy way to tag devices as non-migratable
and puts it into use for ahci, ehci and a number of usb devices.
cheers,
Gerd
The following changes since commit 03ff09580ef6cbc4a893b6e3e6bbff33180ec70a:
Merge remote-tracking branch 'agraf/xen-next' into staging (2011-07-19 08:04:35 -0500)
are available in the git repository at:
git://git.kraxel.org/qemu migration.1
Gerd Hoffmann (9):
vmstate: add no_migrate flag to VMStateDescription
vmstate: complain about devices without vmstate
ahci doesn't support migration
ehci doesn't support migration
usb storage: first migration support bits.
usb-wacom doesn't support migration
usb-bt doesn't support migration
usb-net doesn't support migration
usb-serial doesn't support migration
hw/hw.h | 3 +++
hw/ide/ich.c | 6 ++++++
hw/qdev.c | 7 ++++++-
hw/usb-bt.c | 6 ++++++
hw/usb-ehci.c | 7 +++++++
hw/usb-msd.c | 12 ++++++++++++
hw/usb-net.c | 6 ++++++
hw/usb-serial.c | 7 +++++++
hw/usb-wacom.c | 6 ++++++
savevm.c | 1 +
10 files changed, 60 insertions(+), 1 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 1/9] vmstate: add no_migrate flag to VMStateDescription
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate Gerd Hoffmann
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
This allows to easily tag devices as non-migratable,
so any attempt to migrate a virtual machine with the
device in question active will make migration fail.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/hw.h | 1 +
savevm.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/hw/hw.h b/hw/hw.h
index 9dd7096..df6ca65 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -324,6 +324,7 @@ typedef struct VMStateSubsection {
struct VMStateDescription {
const char *name;
+ int unmigratable;
int version_id;
int minimum_version_id;
int minimum_version_id_old;
diff --git a/savevm.c b/savevm.c
index 8139bc7..1c5abe2 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1234,6 +1234,7 @@ int vmstate_register_with_alias_id(DeviceState *dev, int instance_id,
se->opaque = opaque;
se->vmsd = vmsd;
se->alias_id = alias_id;
+ se->no_migrate = vmsd->unmigratable;
if (dev && dev->parent_bus && dev->parent_bus->info->get_dev_path) {
char *id = dev->parent_bus->info->get_dev_path(dev);
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 1/9] vmstate: add no_migrate flag to VMStateDescription Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 12:40 ` Peter Maydell
2011-07-20 10:09 ` [Qemu-devel] [PATCH 3/9] ahci doesn't support migration Gerd Hoffmann
` (8 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/hw.h | 2 ++
hw/qdev.c | 7 ++++++-
2 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/hw/hw.h b/hw/hw.h
index df6ca65..d839af1 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -336,6 +336,8 @@ struct VMStateDescription {
const VMStateSubsection *subsections;
};
+#define VMSD_NONE ((const VMStateDescription*)1)
+
extern const VMStateInfo vmstate_info_bool;
extern const VMStateInfo vmstate_info_int8;
diff --git a/hw/qdev.c b/hw/qdev.c
index 292b52f..fafbbae 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -283,7 +283,12 @@ int qdev_init(DeviceState *dev)
qdev_free(dev);
return rc;
}
- if (dev->info->vmsd) {
+ if (dev->info->vmsd == NULL) {
+ /* TODO: fixup qemu source code, then make this an assert() */
+ error_report("WARNING: device %s has no vmstate\n", dev->info->name);
+ } else if (dev->info->vmsd == VMSD_NONE) {
+ /* device doesn't need vmstate */;
+ } else {
vmstate_register_with_alias_id(dev, -1, dev->info->vmsd, dev,
dev->instance_id_alias,
dev->alias_required_for_version);
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 3/9] ahci doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 1/9] vmstate: add no_migrate flag to VMStateDescription Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 4/9] ehci " Gerd Hoffmann
` (7 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/ide/ich.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index 054e073..d241ea8 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -72,6 +72,11 @@
#include <hw/ide/pci.h>
#include <hw/ide/ahci.h>
+static const VMStateDescription vmstate_ahci = {
+ .name = "ahci",
+ .unmigratable = 1,
+};
+
static int pci_ich9_ahci_init(PCIDevice *dev)
{
struct AHCIPCIState *d;
@@ -123,6 +128,7 @@ static PCIDeviceInfo ich_ahci_info[] = {
.qdev.name = "ich9-ahci",
.qdev.alias = "ahci",
.qdev.size = sizeof(AHCIPCIState),
+ .qdev.vmsd = &vmstate_ahci,
.init = pci_ich9_ahci_init,
.exit = pci_ich9_uninit,
.config_write = pci_ich9_write_config,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 4/9] ehci doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (2 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 3/9] ahci doesn't support migration Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits Gerd Hoffmann
` (6 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-ehci.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/hw/usb-ehci.c b/hw/usb-ehci.c
index a4758f9..8b0dcc3 100644
--- a/hw/usb-ehci.c
+++ b/hw/usb-ehci.c
@@ -2244,6 +2244,11 @@ static USBBusOps ehci_bus_ops = {
.register_companion = ehci_register_companion,
};
+static const VMStateDescription vmstate_ehci = {
+ .name = "ehci",
+ .unmigratable = 1,
+};
+
static Property ehci_properties[] = {
DEFINE_PROP_UINT32("freq", EHCIState, freq, FRAME_TIMER_FREQ),
DEFINE_PROP_UINT32("maxframes", EHCIState, maxframes, 128),
@@ -2254,6 +2259,7 @@ static PCIDeviceInfo ehci_info[] = {
{
.qdev.name = "usb-ehci",
.qdev.size = sizeof(EHCIState),
+ .qdev.vmsd = &vmstate_ehci,
.init = usb_ehci_initfn,
.vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801D, /* ich4 */
@@ -2263,6 +2269,7 @@ static PCIDeviceInfo ehci_info[] = {
},{
.qdev.name = "ich9-usb-ehci1",
.qdev.size = sizeof(EHCIState),
+ .qdev.vmsd = &vmstate_ehci,
.init = usb_ehci_initfn,
.vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_EHCI1,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits.
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (3 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 4/9] ehci " Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-29 15:56 ` Paolo Bonzini
2011-07-20 10:09 ` [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration Gerd Hoffmann
` (5 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Tag vmstate as unmigratable for the time being,
to be removed when mgration support is finished.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-msd.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/hw/usb-msd.c b/hw/usb-msd.c
index 86582cc..8ed8594 100644
--- a/hw/usb-msd.c
+++ b/hw/usb-msd.c
@@ -623,11 +623,23 @@ static USBDevice *usb_msd_init(const char *filename)
return dev;
}
+static const VMStateDescription vmstate_usb_msd = {
+ .name = "usb-storage",
+ .unmigratable = 1, /* FIXME: handle transactions which are in flight */
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (VMStateField []) {
+ VMSTATE_USB_DEVICE(dev, MSDState),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static struct USBDeviceInfo msd_info = {
.product_desc = "QEMU USB MSD",
.qdev.name = "usb-storage",
.qdev.fw_name = "storage",
.qdev.size = sizeof(MSDState),
+ .qdev.vmsd = &vmstate_usb_msd,
.usb_desc = &desc,
.init = usb_msd_initfn,
.handle_packet = usb_generic_handle_packet,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (4 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-29 15:57 ` Paolo Bonzini
2011-07-20 10:09 ` [Qemu-devel] [PATCH 7/9] usb-bt " Gerd Hoffmann
` (4 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-wacom.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/usb-wacom.c b/hw/usb-wacom.c
index 9d348e1..d76ee97 100644
--- a/hw/usb-wacom.c
+++ b/hw/usb-wacom.c
@@ -349,6 +349,11 @@ static int usb_wacom_initfn(USBDevice *dev)
return 0;
}
+static const VMStateDescription vmstate_usb_wacom = {
+ .name = "usb-wacom",
+ .unmigratable = 1,
+};
+
static struct USBDeviceInfo wacom_info = {
.product_desc = "QEMU PenPartner Tablet",
.qdev.name = "usb-wacom-tablet",
@@ -356,6 +361,7 @@ static struct USBDeviceInfo wacom_info = {
.usbdevice_name = "wacom-tablet",
.usb_desc = &desc_wacom,
.qdev.size = sizeof(USBWacomState),
+ .qdev.vmsd = &vmstate_usb_wacom,
.init = usb_wacom_initfn,
.handle_packet = usb_generic_handle_packet,
.handle_reset = usb_wacom_handle_reset,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 7/9] usb-bt doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (5 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 8/9] usb-net " Gerd Hoffmann
` (3 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-bt.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/usb-bt.c b/hw/usb-bt.c
index e364513..4557802 100644
--- a/hw/usb-bt.c
+++ b/hw/usb-bt.c
@@ -548,10 +548,16 @@ USBDevice *usb_bt_init(HCIInfo *hci)
return dev;
}
+static const VMStateDescription vmstate_usb_bt = {
+ .name = "usb-bt",
+ .unmigratable = 1,
+};
+
static struct USBDeviceInfo bt_info = {
.product_desc = "QEMU BT dongle",
.qdev.name = "usb-bt-dongle",
.qdev.size = sizeof(struct USBBtState),
+ .qdev.vmsd = &vmstate_usb_bt,
.usb_desc = &desc_bluetooth,
.init = usb_bt_initfn,
.handle_packet = usb_generic_handle_packet,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 8/9] usb-net doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (6 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 7/9] usb-bt " Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 9/9] usb-serial " Gerd Hoffmann
` (2 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-net.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/usb-net.c b/hw/usb-net.c
index 9be709f..4212e5b 100644
--- a/hw/usb-net.c
+++ b/hw/usb-net.c
@@ -1414,11 +1414,17 @@ static USBDevice *usb_net_init(const char *cmdline)
return dev;
}
+static const VMStateDescription vmstate_usb_net = {
+ .name = "usb-net",
+ .unmigratable = 1,
+};
+
static struct USBDeviceInfo net_info = {
.product_desc = "QEMU USB Network Interface",
.qdev.name = "usb-net",
.qdev.fw_name = "network",
.qdev.size = sizeof(USBNetState),
+ .qdev.vmsd = &vmstate_usb_net,
.usb_desc = &desc_net,
.init = usb_net_initfn,
.handle_packet = usb_generic_handle_packet,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 9/9] usb-serial doesn't support migration
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (7 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 8/9] usb-net " Gerd Hoffmann
@ 2011-07-20 10:09 ` Gerd Hoffmann
2011-07-22 14:21 ` [Qemu-devel] [PULL] non-migratable devices Anthony Liguori
2011-07-29 15:46 ` Anthony Liguori
10 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb-serial.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/hw/usb-serial.c b/hw/usb-serial.c
index 59cb0fb..70d694d 100644
--- a/hw/usb-serial.c
+++ b/hw/usb-serial.c
@@ -566,10 +566,16 @@ static USBDevice *usb_braille_init(const char *unused)
return dev;
}
+static const VMStateDescription vmstate_usb_serial = {
+ .name = "usb-serial",
+ .unmigratable = 1,
+};
+
static struct USBDeviceInfo serial_info = {
.product_desc = "QEMU USB Serial",
.qdev.name = "usb-serial",
.qdev.size = sizeof(USBSerialState),
+ .qdev.vmsd = &vmstate_usb_serial,
.usb_desc = &desc_serial,
.init = usb_serial_initfn,
.handle_packet = usb_generic_handle_packet,
@@ -589,6 +595,7 @@ static struct USBDeviceInfo braille_info = {
.product_desc = "QEMU USB Braille",
.qdev.name = "usb-braille",
.qdev.size = sizeof(USBSerialState),
+ .qdev.vmsd = &vmstate_usb_serial,
.usb_desc = &desc_braille,
.init = usb_serial_initfn,
.handle_packet = usb_generic_handle_packet,
--
1.7.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate
2011-07-20 10:09 ` [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate Gerd Hoffmann
@ 2011-07-20 12:40 ` Peter Maydell
2011-07-20 12:51 ` Gerd Hoffmann
0 siblings, 1 reply; 17+ messages in thread
From: Peter Maydell @ 2011-07-20 12:40 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
On 20 July 2011 11:09, Gerd Hoffmann <kraxel@redhat.com> wrote:
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -283,7 +283,12 @@ int qdev_init(DeviceState *dev)
> qdev_free(dev);
> return rc;
> }
> - if (dev->info->vmsd) {
> + if (dev->info->vmsd == NULL) {
> + /* TODO: fixup qemu source code, then make this an assert() */
> + error_report("WARNING: device %s has no vmstate\n", dev->info->name);
> + } else if (dev->info->vmsd == VMSD_NONE) {
> + /* device doesn't need vmstate */;
> + } else {
I would prefer it if we didn't add this sort of targeted-at-qemu-developers
warning unless there was a reasonable period of time before the next release
where devices which provoke the warning message can be fixed. In particular,
should we postpone putting in the warning message until after 0.15 branches?
-- PMM
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate
2011-07-20 12:40 ` Peter Maydell
@ 2011-07-20 12:51 ` Gerd Hoffmann
0 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 12:51 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel
On 07/20/11 14:40, Peter Maydell wrote:
> On 20 July 2011 11:09, Gerd Hoffmann<kraxel@redhat.com> wrote:
>> --- a/hw/qdev.c
>> +++ b/hw/qdev.c
>> @@ -283,7 +283,12 @@ int qdev_init(DeviceState *dev)
>> qdev_free(dev);
>> return rc;
>> }
>> - if (dev->info->vmsd) {
>> + if (dev->info->vmsd == NULL) {
>> + /* TODO: fixup qemu source code, then make this an assert() */
>> + error_report("WARNING: device %s has no vmstate\n", dev->info->name);
>> + } else if (dev->info->vmsd == VMSD_NONE) {
>> + /* device doesn't need vmstate */;
>> + } else {
>
> I would prefer it if we didn't add this sort of targeted-at-qemu-developers
> warning unless there was a reasonable period of time before the next release
> where devices which provoke the warning message can be fixed. In particular,
> should we postpone putting in the warning message until after 0.15 branches?
Agree, makes sense to postpone that one to 0.16-devel, otherwise we'll
just bug the users for no reason.
Pushed migration.2 branch with that patch dropped.
cheers,
Gerd
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL] non-migratable devices
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (8 preceding siblings ...)
2011-07-20 10:09 ` [Qemu-devel] [PATCH 9/9] usb-serial " Gerd Hoffmann
@ 2011-07-22 14:21 ` Anthony Liguori
2011-07-22 14:32 ` Gerd Hoffmann
2011-07-29 15:46 ` Anthony Liguori
10 siblings, 1 reply; 17+ messages in thread
From: Anthony Liguori @ 2011-07-22 14:21 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
On 07/20/2011 05:09 AM, Gerd Hoffmann wrote:
> Hi,
>
> This patch series adds an easy way to tag devices as non-migratable
> and puts it into use for ahci, ehci and a number of usb devices.
>
> cheers,
> Gerd
>
> The following changes since commit 03ff09580ef6cbc4a893b6e3e6bbff33180ec70a:
>
> Merge remote-tracking branch 'agraf/xen-next' into staging (2011-07-19 08:04:35 -0500)
>
> are available in the git repository at:
>
> git://git.kraxel.org/qemu migration.1
>
> Gerd Hoffmann (9):
> vmstate: add no_migrate flag to VMStateDescription
> vmstate: complain about devices without vmstate
I appreciate the sentiment of this patch but this cannot go into 0.15.
Lots of tools parse the output of QEMU and introducing something like
this is going to create problems for those tools.
I'm not really sure this is totally appropriate for the development
branch either. I think something like a migration tainted flag that
showed in info migrate would be much more appropriate.
Regards,
Anthony Liguori
> ahci doesn't support migration
> ehci doesn't support migration
> usb storage: first migration support bits.
> usb-wacom doesn't support migration
> usb-bt doesn't support migration
> usb-net doesn't support migration
> usb-serial doesn't support migration
>
> hw/hw.h | 3 +++
> hw/ide/ich.c | 6 ++++++
> hw/qdev.c | 7 ++++++-
> hw/usb-bt.c | 6 ++++++
> hw/usb-ehci.c | 7 +++++++
> hw/usb-msd.c | 12 ++++++++++++
> hw/usb-net.c | 6 ++++++
> hw/usb-serial.c | 7 +++++++
> hw/usb-wacom.c | 6 ++++++
> savevm.c | 1 +
> 10 files changed, 60 insertions(+), 1 deletions(-)
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL] non-migratable devices
2011-07-22 14:21 ` [Qemu-devel] [PULL] non-migratable devices Anthony Liguori
@ 2011-07-22 14:32 ` Gerd Hoffmann
0 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2011-07-22 14:32 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel
Hi,
>> vmstate: complain about devices without vmstate
>
> I appreciate the sentiment of this patch but this cannot go into 0.15.
Peter Maydell noted that too, thats why there already is a migration.2
branch with this patch dropped which you can pull instead.
> I'm not really sure this is totally appropriate for the development
> branch either. I think something like a migration tainted flag that
> showed in info migrate would be much more appropriate.
We can discuss that after 0.15 is out of the door. I'm certainly open
to suggestions how to handle that in a better way.
cheers,
Gerd
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL] non-migratable devices
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
` (9 preceding siblings ...)
2011-07-22 14:21 ` [Qemu-devel] [PULL] non-migratable devices Anthony Liguori
@ 2011-07-29 15:46 ` Anthony Liguori
10 siblings, 0 replies; 17+ messages in thread
From: Anthony Liguori @ 2011-07-29 15:46 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
On 07/20/2011 05:09 AM, Gerd Hoffmann wrote:
> Hi,
>
> This patch series adds an easy way to tag devices as non-migratable
> and puts it into use for ahci, ehci and a number of usb devices.
Pulled. Thanks.
Regards,
Anthony Liguori
>
> cheers,
> Gerd
>
> The following changes since commit 03ff09580ef6cbc4a893b6e3e6bbff33180ec70a:
>
> Merge remote-tracking branch 'agraf/xen-next' into staging (2011-07-19 08:04:35 -0500)
>
> are available in the git repository at:
>
> git://git.kraxel.org/qemu migration.1
>
> Gerd Hoffmann (9):
> vmstate: add no_migrate flag to VMStateDescription
> vmstate: complain about devices without vmstate
> ahci doesn't support migration
> ehci doesn't support migration
> usb storage: first migration support bits.
> usb-wacom doesn't support migration
> usb-bt doesn't support migration
> usb-net doesn't support migration
> usb-serial doesn't support migration
>
> hw/hw.h | 3 +++
> hw/ide/ich.c | 6 ++++++
> hw/qdev.c | 7 ++++++-
> hw/usb-bt.c | 6 ++++++
> hw/usb-ehci.c | 7 +++++++
> hw/usb-msd.c | 12 ++++++++++++
> hw/usb-net.c | 6 ++++++
> hw/usb-serial.c | 7 +++++++
> hw/usb-wacom.c | 6 ++++++
> savevm.c | 1 +
> 10 files changed, 60 insertions(+), 1 deletions(-)
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits.
2011-07-20 10:09 ` [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits Gerd Hoffmann
@ 2011-07-29 15:56 ` Paolo Bonzini
0 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2011-07-29 15:56 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
On 07/20/2011 12:09 PM, Gerd Hoffmann wrote:
> Tag vmstate as unmigratable for the time being,
> to be removed when mgration support is finished.
I'm going to handle this at the SCSI level by canceling all transactions
on pre-load. Expect patches next week.
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration
2011-07-20 10:09 ` [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration Gerd Hoffmann
@ 2011-07-29 15:57 ` Paolo Bonzini
0 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2011-07-29 15:57 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
On 07/20/2011 12:09 PM, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>
> ---
> hw/usb-wacom.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/hw/usb-wacom.c b/hw/usb-wacom.c
> index 9d348e1..d76ee97 100644
> --- a/hw/usb-wacom.c
> +++ b/hw/usb-wacom.c
> @@ -349,6 +349,11 @@ static int usb_wacom_initfn(USBDevice *dev)
> return 0;
> }
>
> +static const VMStateDescription vmstate_usb_wacom = {
> + .name = "usb-wacom",
> + .unmigratable = 1,
> +};
> +
> static struct USBDeviceInfo wacom_info = {
> .product_desc = "QEMU PenPartner Tablet",
> .qdev.name = "usb-wacom-tablet",
> @@ -356,6 +361,7 @@ static struct USBDeviceInfo wacom_info = {
> .usbdevice_name = "wacom-tablet",
> .usb_desc =&desc_wacom,
> .qdev.size = sizeof(USBWacomState),
> + .qdev.vmsd =&vmstate_usb_wacom,
> .init = usb_wacom_initfn,
> .handle_packet = usb_generic_handle_packet,
> .handle_reset = usb_wacom_handle_reset,
Since usb_wacom does not support auto-wakeup, it should actually kinda
sorta work like usb-tablet used to, right?
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-07-29 15:57 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-20 10:09 [Qemu-devel] [PULL] non-migratable devices Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 1/9] vmstate: add no_migrate flag to VMStateDescription Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 2/9] vmstate: complain about devices without vmstate Gerd Hoffmann
2011-07-20 12:40 ` Peter Maydell
2011-07-20 12:51 ` Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 3/9] ahci doesn't support migration Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 4/9] ehci " Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 5/9] usb storage: first migration support bits Gerd Hoffmann
2011-07-29 15:56 ` Paolo Bonzini
2011-07-20 10:09 ` [Qemu-devel] [PATCH 6/9] usb-wacom doesn't support migration Gerd Hoffmann
2011-07-29 15:57 ` Paolo Bonzini
2011-07-20 10:09 ` [Qemu-devel] [PATCH 7/9] usb-bt " Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 8/9] usb-net " Gerd Hoffmann
2011-07-20 10:09 ` [Qemu-devel] [PATCH 9/9] usb-serial " Gerd Hoffmann
2011-07-22 14:21 ` [Qemu-devel] [PULL] non-migratable devices Anthony Liguori
2011-07-22 14:32 ` Gerd Hoffmann
2011-07-29 15:46 ` Anthony Liguori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).