HomeFreeBSD

ns8250: Check if flush via FCR succeeded

Description

ns8250: Check if flush via FCR succeeded

The emulated UART in the Firecracker VMM (aka the implementation in the
rust-vmm/vm-superio project) includes FIFOs but does not implement the
FCR register, which is used by ns8250_flush to flush the FIFOs.

Check the LSR to see if there is still data in the FIFOs and call
ns8250_drain if necessary.

Discussed with: emaste, imp, jrtc27
Sponsored by: https://patreon.com/cperciva
Differential Revision: https://reviews.freebsd.org/D36979

Details

Provenance
cpercivaAuthored on Oct 13 2022, 6:01 PM
Differential Revision
D36979: ns8250: Check if flush via FCR succeeded
Parents
rG782105f7c898: vtblk: Use busdma
Branches
Unknown
Tags
Unknown