summaryrefslogtreecommitdiffstats
path: root/include/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland2021-03-04 23:10:25 +0100
committerMark Cave-Ayland2021-03-07 11:39:05 +0100
commit0bd005be782d9492afe3cc6fc494d8c3b477e5b8 (patch)
tree934a3b98e8d92410f08af9b4c5e025b3060369b0 /include/hw
parentesp: QOMify the internal ESP device state (diff)
downloadqemu-0bd005be782d9492afe3cc6fc494d8c3b477e5b8.tar.gz
qemu-0bd005be782d9492afe3cc6fc494d8c3b477e5b8.tar.xz
qemu-0bd005be782d9492afe3cc6fc494d8c3b477e5b8.zip
esp: add vmstate_esp version to embedded ESPState
The QOM object representing ESPState is currently embedded within both the SYSBUS_ESP and PCI_ESP devices with migration state handled by embedding vmstate_esp within each device using VMSTATE_STRUCT. Since the vmstate_esp fields are embedded directly within the migration stream, the incoming vmstate_esp version_id is lost. The only version information available is that from vmstate_sysbus_esp_scsi and vmstate_esp_pci_scsi, but those versions represent their respective devices and not that of the underlying ESPState. Resolve this by adding a new version-dependent field in vmstate_sysbus_esp_scsi and vmstate_esp_pci_scsi which stores the vmstate_esp version_id field within ESPState to be used to allow migration from older QEMU versions. Finally bump the vmstate_esp version to 5 to cover the upcoming ESPState changes within this patch series. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20210304221103.6369-5-mark.cave-ayland@ilande.co.uk>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/scsi/esp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h
index af23f813cb..9d149cbc9f 100644
--- a/include/hw/scsi/esp.h
+++ b/include/hw/scsi/esp.h
@@ -68,6 +68,8 @@ struct ESPState {
uint32_t pdma_start;
uint32_t pdma_cur;
void (*pdma_cb)(ESPState *s);
+
+ uint8_t mig_version_id;
};
#define TYPE_SYSBUS_ESP "sysbus-esp"