Hi Lukas, On 5/4/21 5:34 PM, Lukas Jünger wrote: > Signed-off-by: Lukas Jünger <lukas.juen...@greensocs.com> > --- > include/hw/char/sifive_uart.h | 6 +-- > hw/char/sifive_uart.c | 72 ++++++++++++++++++++++++++++++----- > 2 files changed, 65 insertions(+), 13 deletions(-)
> +static void sifive_uart_realize(DeviceState *dev, Error **errp) > +{ > + SiFiveUARTState *s = SIFIVE_UART(dev); > + > + qemu_chr_fe_set_handlers(&s->chr, uart_can_rx, uart_rx, uart_event, > + uart_be_change, s, NULL, true); > + > +} > + > +static void sifive_uart_class_init(ObjectClass *oc, void *data) > +{ > + DeviceClass *dc = DEVICE_CLASS(oc); > + > + dc->realize = sifive_uart_realize; > + device_class_set_props(dc, sifive_uart_properties); > +} You forgot to add the migration fields (VMState) of the SiFiveUARTState structure. You might want to convert to the Fifo8 API (like the SiFiveSPIState does) previous to this patch. Regards, Phil.