Alistair Francis 53c1557b23 hw/char: sifive_uart: Print uart characters async
The current approach of using qemu_chr_fe_write() and ignoring the
return values results in dropped characters [1].

Let's update the SiFive UART to use a async sifive_uart_xmit() function
to transmit the characters and apply back pressure to the guest with
the SIFIVE_UART_TXFIFO_FULL status.

This should avoid dropped characters and more realisticly model the
hardware.

1: https://gitlab.com/qemu-project/qemu/-/issues/2114

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240910045419.1252277-3-alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2024-10-30 11:22:08 +10:00
..
2024-10-15 15:16:17 +01:00
2024-10-25 13:35:22 +01:00
2024-10-01 14:58:07 +01:00
2024-10-24 07:57:47 +02:00
2024-10-03 19:33:23 +02:00
2024-10-01 14:41:10 +01:00
2024-10-03 19:33:23 +02:00
2024-10-01 09:02:05 +02:00
2024-10-03 17:26:06 +03:00
2024-10-03 19:33:23 +02:00
2024-10-03 17:26:05 +03:00
2024-10-03 19:33:23 +02:00
2024-10-01 14:40:59 +01:00
2024-10-03 19:33:23 +02:00
2024-10-01 14:56:27 +01:00
2024-10-23 14:46:24 +02:00
2024-10-15 15:16:17 +01:00
2024-10-15 15:16:17 +01:00