53c1557b23
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> |
||
---|---|---|
.. | ||
avr_usart.c | ||
bcm2835_aux.c | ||
cadence_uart.c | ||
cmsdk-apb-uart.c | ||
debugcon.c | ||
digic-uart.c | ||
escc.c | ||
exynos4210_uart.c | ||
goldfish_tty.c | ||
grlib_apbuart.c | ||
ibex_uart.c | ||
imx_serial.c | ||
ipoctal232.c | ||
Kconfig | ||
mcf_uart.c | ||
mchp_pfsoc_mmuart.c | ||
meson.build | ||
nrf51_uart.c | ||
omap_uart.c | ||
parallel-isa.c | ||
parallel.c | ||
pl011.c | ||
renesas_sci.c | ||
riscv_htif.c | ||
sclpconsole-lm.c | ||
sclpconsole.c | ||
serial-isa.c | ||
serial-mm.c | ||
serial-pci-multi.c | ||
serial-pci.c | ||
serial.c | ||
sh_serial.c | ||
shakti_uart.c | ||
sifive_uart.c | ||
spapr_vty.c | ||
stm32f2xx_usart.c | ||
stm32l4x5_usart.c | ||
terminal3270.c | ||
trace-events | ||
trace.h | ||
virtio-console.c | ||
virtio-serial-bus.c | ||
xen_console.c | ||
xilinx_uartlite.c |