firecracker-microvm / firecracker-microvm/firecracker
[Bug] UART has txfifo bug
- Dominant language
- Rust
- Stars
- 36.7k
- Forks
- 2.6k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 53
Description
# Describe the bug
Just tripped over this with FreeBSD: I need to set hw.broken_txfifo=1 to make the UART work once we enter userland in a Firecracker VM. This is a workaround I added to FreeBSD about a decade ago to address a QEMU/Xen bug which has long since been fixed there -- IIRC after the txfifo filled up, we wouldn't get an interrupt telling us when it had drained.
I haven't looked into the Firecracker UART code to see what's going on there; I'm opening this mainly as a placeholder so I don't forget to take a look at it later.
## To Reproduce
Boot FreeBSD in Firecracker.
## Expected behaviour
The UART should work. Instead, once FreeBSD hits userland it writes 16 characters and then gets stuck.
## Environment
Running aljimenezb's pvh-v2 branch. FreeBSD HEAD with Firecracker hacks. m5.metal EC2 instance.
Contributor guide
Assessment
This issue has not been assessed yet.