mac_dbdma: add DBDMA controller state to VMStateDescription

Make sure that we include the DBDMA controller state in the migration
stream.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Mark Cave-Ayland 2016-01-06 20:37:25 +00:00 committed by David Gibson
parent bb37a8e8a3
commit 627be2f283

View File

@ -713,20 +713,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),