Re: ns8250: UART FCR is broken
- Reply: Matteo Riondato : "Re: ns8250: UART FCR is broken"
- Reply: void : "Re: ns8250: UART FCR is broken"
- Reply: Colin Percival : "Re: ns8250: UART FCR is broken"
- In reply to: Ed Maste : "Re: ns8250: UART FCR is broken"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 26 Oct 2022 21:15:29 UTC
On 10/26/22 13:48, Ed Maste wrote: > On Mon, 24 Oct 2022 at 22:11, void <void@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