qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Chen, Tiejun" <tiejun.chen@intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: armbru@redhat.com, pavel.dovgaluk@ispras.ru, batuzovk@ispras.ru
Subject: Re: [Qemu-devel] [PATCH 1/2] serial: reset state at startup
Date: Mon, 22 Sep 2014 09:19:55 +0800	[thread overview]
Message-ID: <541F793B.6030208@intel.com> (raw)
In-Reply-To: <541C2829.5020704@redhat.com>

On 2014/9/19 20:57, Paolo Bonzini wrote:
> 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 <pbonzini@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

Yes, I took a look at this pair,

void fifo8_create(Fifo8 *fifo, uint32_t capacity)
{
     fifo->data = g_new(uint8_t, capacity);
     fifo->capacity = capacity;
     fifo->head = 0;
     fifo->num = 0;
}

and

void fifo8_reset(Fifo8 *fifo)
{
     fifo->num = 0;
     fifo->head = 0;
}

> then you initialize it, not the other way round.
>

Thanks for your explanation in this case.

Thanks
Tiejun

> 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	other threads:[~2014-09-22  1:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-19  8:54 [Qemu-devel] [PATCH 0/2] serial: cleanups for physical serial port passthrough Paolo Bonzini
2014-09-19  8:54 ` [Qemu-devel] [PATCH 1/2] serial: reset state at startup Paolo Bonzini
2014-09-19  9:17   ` Chen, Tiejun
2014-09-19 12:57     ` Paolo Bonzini
2014-09-22  1:19       ` Chen, Tiejun [this message]
2014-09-19  8:54 ` [Qemu-devel] [PATCH 2/2] serial: check if backed by a physical serial port at realize time Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=541F793B.6030208@intel.com \
    --to=tiejun.chen@intel.com \
    --cc=armbru@redhat.com \
    --cc=batuzovk@ispras.ru \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).