Date: Thu, 27 Oct 2022 08:57:58 -0400 From: Matteo Riondato <matteo@freebsd.org> To: freebsd-current@freebsd.org Subject: Re: ns8250: UART FCR is broken Message-ID: <20221027125758.nexluqtw6n2tgklq@ubertino.local> In-Reply-To: <fa45b3cc-fa65-b5b9-49fa-a1dcbbddebc6@freebsd.org> References: <Y1dF0CvrJZubFizl@openbsd.local> <CAPyFy2CeWi2_ejv6%2BdKQB6Sa0KLpe0Kq8=p4QNS46HDkADCB9Q@mail.gmail.com> <fa45b3cc-fa65-b5b9-49fa-a1dcbbddebc6@freebsd.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On 2022-10-26 at 17:15 EDT, Colin Percival <cperciva@freebsd.org> wrote: >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. I got the same message on real hardware, no virtualization involved as either host or guest. Is that expected at all? Relevant lines from /var/run/dmesg.boot: ns8250: UART FCR is broken ns8250: UART FCR is broken uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: console (115200,n,8,1) ns8250: UART FCR is broken ns8250: UART FCR is broken uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 ns8250: UART FCR is broken Thanks, Matteo [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEa9uKZL0hP4E8Nl5vGwL9SVQlVQEFAmNagFATGGhrcHM6Ly9w Z3AubWl0LmVkdQAKCRAbAv1JVCVVAdiaD/sH+AwdmtBelsTFQYHTmhQjwUdlUPcJ kfl76olCRnHw+geWQUZ4XpAVwV7GkcJ/4DWRrsVBtLTARgu/jomL40rbwPCD4WlQ xAvZPbgKkOyQrbFhyknY8YDqgMidBqCCidyn19AAqk+NfuERleUbI5d1m6J9XdCJ C1eTBbBsZECwYbGuE/ClswcKvlBxDUNc8RYyd6AX5b7kLOQq8uBJXh+OXM1xuUHd rPQoFzVgCBKnFeOWnpCxhvDp2oVFsx8ZOYKgf/gFdCLDUCwVvohDzcrERvO9pvsm rSpXY+G/s+efKQuBfRER6B8hd1X3IJYPYUOB/q8f6vRehwpk87Oj1yMCZIFs9htf YY8V+yYCsqMcoQ7tr0K7qvx036fjjHNZ5b2dd1tz++IiOCxPFU06C69jcdR7uBWW YqBF2X4tHVQd+UvibhFuBUHzaBdU7ouaT//DYmE9x8xAL6OCbatqMpdYy+iBaHev unP2/Hk1kkoQFUWzIuDRSkIzGV/WBI4i4vwaOG9dkgKVbpD/CMGYult5e7OOtQap fWra8iknqd8e5xd4ujS/nCSkkvVrRx3LWFQ1KoM6G6/1dd7ItnKFcQvRHcLGKLfZ XO8pP6Fx4vahm7MEu+82jlMlNpUxzkp2MXXtybMfzimlP7VONSyrTR6X0EWR8lg9 A1fWChLn0ONvYQ== =j9Ka -----END PGP SIGNATURE-----help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20221027125758.nexluqtw6n2tgklq>
