On 10/26/22 13:48, Ed Maste wrote:
On Mon, 24 Oct 2022 at 22:11, void <v...@f-m.fm> wrote:
this started appearing in dmesg

ns8250: UART FCR is broken
ns8250: UART FCR is broken

This message was added as part of Colin's work to support FreeBSD in
the Firecracker VMM
https://cgit.freebsd.org/src/commit/?id=c4b68e7e53bb352be3fa16995b99764c03097e66

In this case it indicates that bhyve has the same bug/missing
functionality as Firecracker -- it doesn't implement the FCR_XMT_RST
or FCR_RCV_RST bits. You can safely ignore the message, and it will
disappear once someone adds the required support to bhyve. We should
probably also have the kernel emit the message only once. I've CC'd
Colin for comment.

Indeed, looking at usr.sbin/bhyve/uart_emul.c it looks like FCR_XMT_RST is
not emulated.  This is different from Firecracker, which doesn't emulate
either anything from the FCR and where I was seeing the receive side not
being flushed, but I'm glad my warning was able to flag a bug. :-)

If "void" is comfortable with kernel hacking, it would be great to confirm
that the warning is indeed coming from the transmit side not being flushed;
a printf("drain = %d\n", drain); would be sufficient.

And yes, only emitting this warning once per device (or once per boot?)
would probably be good.

--
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid

Reply via email to