Il 31/07/2014 14:54, Pavel Dovgalyuk ha scritto: > +static bool serial_thr_ipending_needed(void *opaque) > +{ > + SerialState *s = (SerialState *)opaque; > + return (s->iir & UART_IIR_ID) != UART_IIR_THRI; > +}
This is not correct, as you pointed out in our earlier discussion. thr_ipending is independent from s->iir, it just happens that s->iir is a good way to fetch the common value of thr_ipending and thus avoid streaming the subsection in most cases. > const VMStateDescription vmstate_serial = { > .name = "serial", > - .version_id = 3, > + .version_id = 4, As usual, this is not necessary. Paolo > .minimum_version_id = 2, > .pre_save = serial_pre_save, > + .pre_load = serial_pre_load,