You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/include/hw/char
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>
1 month ago
..
avr_usart.h include/: spelling fixes 1 year ago
bcm2835_aux.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 4 years ago
cadence_uart.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 4 years ago
cmsdk-apb-uart.h hw/char/cmsdk-apb-uart: Open-code cmsdk_apb_uart_create() 2 years ago
digic-uart.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 4 years ago
escc.h hw/char/escc: convert Sun mouse to use QemuInputHandler 3 months ago
goldfish_tty.h include: Include headers where needed 2 years ago
grlib_uart.h hw/sparc/grlib: split out the headers for each peripherals 10 months ago
ibex_uart.h include/hw: Do not include "hw/registerfields.h" in headers that don't need it 2 years ago
imx_serial.h hw/char/imx_serial: Implement receive FIFO and ageing timer 10 months ago
mchp_pfsoc_mmuart.h hw/char: Extract serial-mm 2 months ago
nrf51_uart.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 4 years ago
parallel-isa.h hw/char/parallel-isa: Implement relocation and enabling/disabling for TYPE_ISA_PARALLEL 10 months ago
parallel.h hw/char/parallel: Move portio_list from ParallelState to ISAParallelState 10 months ago
pl011.h hw/char/pl011: Remove unused 'readbuff' field 3 months ago
renesas_sci.h Use DECLARE_*CHECKER* macros 4 years ago
riscv_htif.h hw/riscv: Add signature dump function for spike to run ACT tests 2 years ago
serial-isa.h hw/char/serial.h: Extract serial-isa.h 2 months ago
serial-mm.h hw/char: Extract serial-mm 2 months ago
serial.h * pc: Add a description for the i8042 property 2 months ago
shakti_uart.h hw/char: Add Shakti UART emulation 4 years ago
sifive_uart.h hw/char: sifive_uart: Print uart characters async 1 month ago
stm32f2xx_usart.h hw/char/stm32f2xx_usart: Add more definitions for CR1 register 1 year ago
stm32l4x5_usart.h hw/char/stm32l4x5_usart: Enable serial read and write 7 months ago
xilinx_uartlite.h hw/char/xilinx_uartlite: Open-code xilinx_uartlite_create() 2 years ago