[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH] spapr_iommu: Replace @instance_id with LIOBN for migr
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-ppc] [PATCH] spapr_iommu: Replace @instance_id with LIOBN for migration |
Date: |
Mon, 12 May 2014 18:46:32 +1000 |
SPAPR IOMMU is a bus-less device and therefore its only ID in
migration stream is an instance id which is not reliable ID
as it depends on the command line parameters order. Since
libvirt may change the order, we need something better than that.
This removes VMSD descriptor from the class definitiion and
registers it with @liobn as an intance ID to let the destination
side find the right device to receive migration data.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
hw/ppc/spapr_iommu.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c
index 72493d8..7c3f8c2 100644
--- a/hw/ppc/spapr_iommu.c
+++ b/hw/ppc/spapr_iommu.c
@@ -140,6 +140,9 @@ static int spapr_tce_table_realize(DeviceState *dev)
QLIST_INSERT_HEAD(&spapr_tce_tables, tcet, list);
+ vmstate_register(DEVICE(tcet), tcet->liobn, &vmstate_spapr_tce_table,
+ tcet);
+
return 0;
}
@@ -323,7 +326,6 @@ int spapr_tcet_dma_dt(void *fdt, int node_off, const char
*propname,
static void spapr_tce_table_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- dc->vmsd = &vmstate_spapr_tce_table;
dc->init = spapr_tce_table_realize;
dc->reset = spapr_tce_reset;
--
1.9.rc0
- [Qemu-ppc] [PATCH] spapr_iommu: Replace @instance_id with LIOBN for migration,
Alexey Kardashevskiy <=