qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH v2 06/49] serial: fixing vmstate for save/re


From: Pavel Dovgaluk
Subject: Re: [Qemu-devel] [RFC PATCH v2 06/49] serial: fixing vmstate for save/restore
Date: Wed, 30 Jul 2014 11:01:59 +0400

> -----Original Message-----
> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> Sent: Monday, July 28, 2014 1:59 PM
> To: Pavel Dovgalyuk; address@hidden
> Cc: address@hidden; address@hidden; address@hidden;
> address@hidden; address@hidden; address@hidden
> Subject: Re: [RFC PATCH v2 06/49] serial: fixing vmstate for save/restore
> 
> Il 17/07/2014 13:02, Pavel Dovgalyuk ha scritto:
> > -    .version_id = 3,
> > +    .version_id = 4,
> >      .minimum_version_id = 2,
> >      .pre_save = serial_pre_save,
> >      .post_load = serial_post_load,
> >      .fields = (VMStateField[]) {
> >          VMSTATE_UINT16_V(divider, SerialState, 2),
> >          VMSTATE_UINT8(rbr, SerialState),
> > +        VMSTATE_UINT8_V(thr, SerialState, 4),
> > +        VMSTATE_UINT8_V(tsr, SerialState, 4),
> >          VMSTATE_UINT8(ier, SerialState),
> >          VMSTATE_UINT8(iir, SerialState),
> >          VMSTATE_UINT8(lcr, SerialState),
> > @@ -613,6 +627,15 @@ const VMStateDescription vmstate_serial = {
> >          VMSTATE_UINT8(msr, SerialState),
> >          VMSTATE_UINT8(scr, SerialState),
> >          VMSTATE_UINT8_V(fcr_vmstate, SerialState, 3),
> > +        VMSTATE_INT32_V(thr_ipending, SerialState, 4),
> 
> Subsection, only migrated if it doesn't match "(s->iir & UART_IIR_ID) ==
> UART_IIR_THRI".

 thr_ipending is set here:
    if (s->lsr & UART_LSR_THRE) {
        s->lsr |= UART_LSR_TEMT;
        s->thr_ipending = 1;
        serial_update_irq(s);
    }

 serial_update_irq has several if-else branches. One of them sets tmp_iir = 
UART_IIR_THRI, as you said.
Couldn't be possible, that this branch will not be reached, because one of the 
previous ones will be executed?

Pavel Dovgalyuk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]