firecracker-microvm / firecracker-microvm/firecracker

[Bug] UART has txfifo bug

Open
#3,046 1 comment 0 reactions 0 assignees View on GitHub
Priority: Low Status: Parked Type: 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.