Il 19/09/2014 11:17, Chen, Tiejun ha scritto:
> On 2014/9/19 16:54, Paolo Bonzini wrote:
>> When a serial port is started, its initial state is all zero.  Make
>> it consistent with reset state instead.
>>
>> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
>> ---
>>   hw/char/serial.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/char/serial.c b/hw/char/serial.c
>> index 764e184..4523ccb 100644
>> --- a/hw/char/serial.c
>> +++ b/hw/char/serial.c
>> @@ -668,6 +668,7 @@ void serial_realize_core(SerialState *s, Error
>> **errp)
>>                             serial_event, s);
> 
> It should just follow qemu_register_reset(serial_reset, s).
> 
>>       fifo8_create(&s->recv_fifo, UART_FIFO_LENGTH);
>>       fifo8_create(&s->xmit_fifo, UART_FIFO_LENGTH);
>> +    serial_reset(s);
> 
> Or at least we should push this before this pair of fifo8_create() since

No, it should be _after_ the fifo8_create() pair.  With the current
implementation it doesn't matter, but first you create something and
then you initialize it, not the other way round.

Paolo

> static void serial_reset(void *opaque)
> {
>     ...
>     fifo8_reset(&s->recv_fifo);
>     fifo8_reset(&s->xmit_fifo);
> 
> 
> Thanks
> Tiejun
> 
>>   }
>>
>>   void serial_exit_core(SerialState *s)
>>
> 
> 


Reply via email to