Skip to content

[Bug] UART has txfifo bug #3046

Open
Open
@cperciva

Description

@cperciva

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority: LowIndicates that an issue or pull request should be resolved behind issues or pull requests labelled `Status: ParkedIndicates that an issues or pull request will be revisited laterType: BugIndicates an unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions