[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH] grlib_apbuart: always enable tx and rx
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-trivial] [PATCH] grlib_apbuart: always enable tx and rx |
Date: |
Thu, 1 Mar 2018 07:49:13 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Hi Frederic,
On 03/01/2018 07:02 AM, KONRAD Frederic wrote:
> We often use a bootloader for this board. So lets set the uart in a state
> which it can emit characters as if we were using a bootloader.
>
> Signed-off-by: KONRAD Frederic <address@hidden>
> ---
> hw/char/grlib_apbuart.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
> index bac11be..a8020ea 100644
> --- a/hw/char/grlib_apbuart.c
> +++ b/hw/char/grlib_apbuart.c
> @@ -265,8 +265,8 @@ static void grlib_apbuart_reset(DeviceState *d)
>
> /* Transmitter FIFO and shift registers are always empty in QEMU */
> uart->status = UART_TRANSMIT_FIFO_EMPTY | UART_TRANSMIT_SHIFT_EMPTY;
> - /* Everything is off */
> - uart->control = 0;
> + /* Enable Tx and Rx as the bootloader would do */
> + uart->control = UART_RECEIVE_ENABLE | UART_TRANSMIT_ENABLE;
I don't think this is the correct approach, as we want to reflect the
real hardware behavior here.
I think the correct QEMU-way is add a tiny asm bootloader in ram in
leon3_generic_hw_init(), which enables the UART.
See write_bootloader() in hw/mips/mips_fulong2e.c for example.
Regards,
Phil.
> /* Flush receive FIFO */
> uart->len = 0;
> uart->current = 0;
>