qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] acpi_piix4: save gpe and pci hotplug slot status
@ 2010-06-02 16:58 Alex Williamson
  2010-06-09 20:12 ` [Qemu-devel] " Alex Williamson
  0 siblings, 1 reply; 2+ messages in thread
From: Alex Williamson @ 2010-06-02 16:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: alex.williamson, kvm, quintela

PCI hotplug currently doesn't work after a migration because
we don't migrate the enable bits of the GPE state.  Pull hotplug
structs into vmstate.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---

 hw/acpi_piix4.c |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 0fce958..091cdcd 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -282,9 +282,33 @@ static int vmstate_acpi_post_load(void *opaque, int version_id)
     return 0;
 }
 
+static const VMStateDescription vmstate_gpe = {
+    .name = "gpe",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .minimum_version_id_old = 1,
+    .fields      = (VMStateField []) {
+        VMSTATE_UINT16(sts, struct gpe_regs),
+        VMSTATE_UINT16(en, struct gpe_regs),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static const VMStateDescription vmstate_pci_status = {
+    .name = "pci_status",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .minimum_version_id_old = 1,
+    .fields      = (VMStateField []) {
+        VMSTATE_UINT32(up, struct pci_status),
+        VMSTATE_UINT32(down, struct pci_status),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static const VMStateDescription vmstate_acpi = {
     .name = "piix4_pm",
-    .version_id = 1,
+    .version_id = 2,
     .minimum_version_id = 1,
     .minimum_version_id_old = 1,
     .post_load = vmstate_acpi_post_load,
@@ -296,6 +320,9 @@ static const VMStateDescription vmstate_acpi = {
         VMSTATE_STRUCT(apm, PIIX4PMState, 0, vmstate_apm, APMState),
         VMSTATE_TIMER(tmr_timer, PIIX4PMState),
         VMSTATE_INT64(tmr_overflow_time, PIIX4PMState),
+        VMSTATE_STRUCT(gpe, PIIX4PMState, 2, vmstate_gpe, struct gpe_regs),
+        VMSTATE_STRUCT(pci0_status, PIIX4PMState, 2, vmstate_pci_status,
+                       struct pci_status),
         VMSTATE_END_OF_LIST()
     }
 };

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Qemu-devel] Re: [PATCH] acpi_piix4: save gpe and pci hotplug slot status
  2010-06-02 16:58 [Qemu-devel] [PATCH] acpi_piix4: save gpe and pci hotplug slot status Alex Williamson
@ 2010-06-09 20:12 ` Alex Williamson
  0 siblings, 0 replies; 2+ messages in thread
From: Alex Williamson @ 2010-06-09 20:12 UTC (permalink / raw)
  To: qemu-devel, Anthony Liguori; +Cc: alex.williamson, kvm, quintela

nudge.  Any comments here?

On Wed, Jun 2, 2010 at 10:58 AM, Alex Williamson
<alex.williamson@redhat.com> wrote:
>
> PCI hotplug currently doesn't work after a migration because
> we don't migrate the enable bits of the GPE state.  Pull hotplug
> structs into vmstate.
>
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> ---
>
>  hw/acpi_piix4.c |   29 ++++++++++++++++++++++++++++-
>  1 files changed, 28 insertions(+), 1 deletions(-)
>
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 0fce958..091cdcd 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -282,9 +282,33 @@ static int vmstate_acpi_post_load(void *opaque, int version_id)
>     return 0;
>  }
>
> +static const VMStateDescription vmstate_gpe = {
> +    .name = "gpe",
> +    .version_id = 1,
> +    .minimum_version_id = 1,
> +    .minimum_version_id_old = 1,
> +    .fields      = (VMStateField []) {
> +        VMSTATE_UINT16(sts, struct gpe_regs),
> +        VMSTATE_UINT16(en, struct gpe_regs),
> +        VMSTATE_END_OF_LIST()
> +    }
> +};
> +
> +static const VMStateDescription vmstate_pci_status = {
> +    .name = "pci_status",
> +    .version_id = 1,
> +    .minimum_version_id = 1,
> +    .minimum_version_id_old = 1,
> +    .fields      = (VMStateField []) {
> +        VMSTATE_UINT32(up, struct pci_status),
> +        VMSTATE_UINT32(down, struct pci_status),
> +        VMSTATE_END_OF_LIST()
> +    }
> +};
> +
>  static const VMStateDescription vmstate_acpi = {
>     .name = "piix4_pm",
> -    .version_id = 1,
> +    .version_id = 2,
>     .minimum_version_id = 1,
>     .minimum_version_id_old = 1,
>     .post_load = vmstate_acpi_post_load,
> @@ -296,6 +320,9 @@ static const VMStateDescription vmstate_acpi = {
>         VMSTATE_STRUCT(apm, PIIX4PMState, 0, vmstate_apm, APMState),
>         VMSTATE_TIMER(tmr_timer, PIIX4PMState),
>         VMSTATE_INT64(tmr_overflow_time, PIIX4PMState),
> +        VMSTATE_STRUCT(gpe, PIIX4PMState, 2, vmstate_gpe, struct gpe_regs),
> +        VMSTATE_STRUCT(pci0_status, PIIX4PMState, 2, vmstate_pci_status,
> +                       struct pci_status),
>         VMSTATE_END_OF_LIST()
>     }
>  };
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-09 20:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-02 16:58 [Qemu-devel] [PATCH] acpi_piix4: save gpe and pci hotplug slot status Alex Williamson
2010-06-09 20:12 ` [Qemu-devel] " Alex Williamson

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).