[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 06/17] pseries: savevm support for VIO devices
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-ppc] [PATCH 06/17] pseries: savevm support for VIO devices |
Date: |
Thu, 27 Jun 2013 16:45:49 +1000 |
From: David Gibson <address@hidden>
This patch adds helpers to allow PAPR VIO devices to save state common
to all VIO devices during savevm.
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
hw/ppc/spapr_vio.c | 20 ++++++++++++++++++++
include/hw/ppc/spapr_vio.h | 5 +++++
2 files changed, 25 insertions(+)
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index 9c18741..565d883 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -542,6 +542,26 @@ static const TypeInfo spapr_vio_bridge_info = {
.class_init = spapr_vio_bridge_class_init,
};
+const VMStateDescription vmstate_spapr_vio = {
+ .name = "spapr_vio",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .fields = (VMStateField []) {
+ /* Sanity check */
+ VMSTATE_UINT32_EQUAL(reg, VIOsPAPRDevice),
+ VMSTATE_UINT32_EQUAL(irq, VIOsPAPRDevice),
+
+ /* General VIO device state */
+ VMSTATE_UINTTL(signal_state, VIOsPAPRDevice),
+ VMSTATE_UINT64(crq.qladdr, VIOsPAPRDevice),
+ VMSTATE_UINT32(crq.qsize, VIOsPAPRDevice),
+ VMSTATE_UINT32(crq.qnext, VIOsPAPRDevice),
+
+ VMSTATE_END_OF_LIST()
+ },
+};
+
static void vio_spapr_device_class_init(ObjectClass *klass, void *data)
{
DeviceClass *k = DEVICE_CLASS(klass);
diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h
index 3609327..46edc2a 100644
--- a/include/hw/ppc/spapr_vio.h
+++ b/include/hw/ppc/spapr_vio.h
@@ -134,4 +134,9 @@ VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus);
void spapr_vio_quiesce(void);
+extern const VMStateDescription vmstate_spapr_vio;
+
+#define VMSTATE_SPAPR_VIO(_f, _s) \
+ VMSTATE_STRUCT(_f, _s, 0, vmstate_spapr_vio, VIOsPAPRDevice)
+
#endif /* _HW_SPAPR_VIO_H */
--
1.7.10.4
- [Qemu-ppc] [PATCH 00/17 v3] spapr: migration, pci, msi, power8, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 01/17] pseries: move interrupt controllers to hw/intc/, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 02/17] pseries: rework XICS, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 03/17] savevm: Implement VMS_DIVIDE flag, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 04/17] target-ppc: Convert ppc cpu savevm to VMStateDescription, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 05/17] pseries: savevm support for XICS interrupt controller, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 06/17] pseries: savevm support for VIO devices,
Alexey Kardashevskiy <=
- [Qemu-ppc] [PATCH 07/17] pseries: savevm support for PAPR VIO logical lan, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 08/17] pseries: savevm support for PAPR TCE tables, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 09/17] pseries: rework PAPR virtual SCSI, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 10/17] pseries: savevm support for PAPR virtual SCSI, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 11/17] pseries: savevm support for pseries machine, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 12/17] pseries: savevm support for PCI host bridge, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 13/17] target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 14/17] pseries: Support for in-kernel XICS interrupt controller, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 15/17] pseries: savevm support with KVM, Alexey Kardashevskiy, 2013/06/27
- [Qemu-ppc] [PATCH 16/17] ppc64: Enable QEMU to run on POWER 8 DD1 chip., Alexey Kardashevskiy, 2013/06/27