[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] hw/char/serial: Allow migration of the I/O serial device
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 2/2] hw/char/serial: Allow migration of the I/O serial device |
Date: |
Fri, 3 Jul 2020 20:58:09 +0200 |
The serial device mapped on the I/O bus hold a migratable
SerialState. Keep the same version range from SerialState:
837 const VMStateDescription vmstate_serial = {
838 .name = "serial",
839 .version_id = 3,
840 .minimum_version_id = 2,
Fixes: 10315a7089 ("serial: make SerialIO a sysbus device")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/char/serial.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hw/char/serial.c b/hw/char/serial.c
index 9eebcb27e7..c167b584fb 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -1002,12 +1002,22 @@ static void serial_io_realize(DeviceState *dev, Error
**errp)
sysbus_init_irq(SYS_BUS_DEVICE(sio), &s->irq);
}
+static const VMStateDescription vmstate_serial_io = {
+ .name = "serial",
+ .version_id = 3,
+ .minimum_version_id = 2,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT(serial, SerialIO, 0, vmstate_serial, SerialState),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static void serial_io_class_init(ObjectClass *klass, void* data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
dc->realize = serial_io_realize;
- /* No dc->vmsd: class has no migratable state */
+ dc->vmsd = &vmstate_serial_io;
}
static void serial_io_instance_init(Object *o)
--
2.21.3