mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
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>
This commit is contained in:
parent
eb169c76d0
commit
0bd005be78
3 changed files with 25 additions and 3 deletions
|
@ -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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue