[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 05/28] mac_dbdma: add DBDMA controller state to VMState
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PULL 05/28] mac_dbdma: add DBDMA controller state to VMStateDescription |
Date: |
Mon, 25 Jan 2016 12:15:04 +1100 |
From: Mark Cave-Ayland <address@hidden>
Make sure that we include the DBDMA controller state in the migration
stream.
Signed-off-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/misc/macio/mac_dbdma.c | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-)
diff --git a/hw/misc/macio/mac_dbdma.c b/hw/misc/macio/mac_dbdma.c
index 5ee8f02..161f49e 100644
--- a/hw/misc/macio/mac_dbdma.c
+++ b/hw/misc/macio/mac_dbdma.c
@@ -712,20 +712,52 @@ static const MemoryRegionOps dbdma_ops = {
},
};
-static const VMStateDescription vmstate_dbdma_channel = {
- .name = "dbdma_channel",
+static const VMStateDescription vmstate_dbdma_io = {
+ .name = "dbdma_io",
+ .version_id = 0,
+ .minimum_version_id = 0,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT64(addr, struct DBDMA_io),
+ VMSTATE_INT32(len, struct DBDMA_io),
+ VMSTATE_INT32(is_last, struct DBDMA_io),
+ VMSTATE_INT32(is_dma_out, struct DBDMA_io),
+ VMSTATE_BOOL(processing, struct DBDMA_io),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static const VMStateDescription vmstate_dbdma_cmd = {
+ .name = "dbdma_cmd",
.version_id = 0,
.minimum_version_id = 0,
.fields = (VMStateField[]) {
+ VMSTATE_UINT16(req_count, dbdma_cmd),
+ VMSTATE_UINT16(command, dbdma_cmd),
+ VMSTATE_UINT32(phy_addr, dbdma_cmd),
+ VMSTATE_UINT32(cmd_dep, dbdma_cmd),
+ VMSTATE_UINT16(res_count, dbdma_cmd),
+ VMSTATE_UINT16(xfer_status, dbdma_cmd),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static const VMStateDescription vmstate_dbdma_channel = {
+ .name = "dbdma_channel",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (VMStateField[]) {
VMSTATE_UINT32_ARRAY(regs, struct DBDMA_channel, DBDMA_REGS),
+ VMSTATE_STRUCT(io, struct DBDMA_channel, 0, vmstate_dbdma_io,
DBDMA_io),
+ VMSTATE_STRUCT(current, struct DBDMA_channel, 0, vmstate_dbdma_cmd,
+ dbdma_cmd),
VMSTATE_END_OF_LIST()
}
};
static const VMStateDescription vmstate_dbdma = {
.name = "dbdma",
- .version_id = 2,
- .minimum_version_id = 2,
+ .version_id = 3,
+ .minimum_version_id = 3,
.fields = (VMStateField[]) {
VMSTATE_STRUCT_ARRAY(channels, DBDMAState, DBDMA_CHANNELS, 1,
vmstate_dbdma_channel, DBDMA_channel),
--
2.5.0
- [Qemu-ppc] [PULL 00/28] ppc-for-2.6 queue 20160125, David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 04/28] macio: add dma_active to VMStateDescription, David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 05/28] mac_dbdma: add DBDMA controller state to VMStateDescription,
David Gibson <=
- [Qemu-ppc] [PULL 15/28] pseries: Clean up error handling in spapr_rtas_register(), David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 21/28] target-ppc: gdbstub: fix float registers for little-endian guests, David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 17/28] pseries: Clean up error reporting in ppc_spapr_init(), David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 26/28] pseries: Allow TCG h_enter to work with hotplugged memory, David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 03/28] macio: use the existing IDEDMA aiocb to hold the active DMA aiocb, David Gibson, 2016/01/24
- [Qemu-ppc] [PULL 01/28] target-ppc: Use sensible POWER8/POWER8E versions, David Gibson, 2016/01/24