[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] hw/char/serial: Allow migration of the I/O serial device
From: |
Paolo Bonzini |
Subject: |
Re: [PATCH 2/2] hw/char/serial: Allow migration of the I/O serial device |
Date: |
Tue, 7 Jul 2020 12:39:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
On 03/07/20 20:58, Philippe Mathieu-Daudé wrote:
> 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)
>
Is there any difference between SerialMM and SerialIO at this point?
Paolo