Skip site navigation (1)Skip section navigation (2)
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>