Windows 10 guests fail to boot when attempting to passthrough network card
jhb at FreeBSD.org
Tue May 21 16:40:30 UTC 2019
On 5/19/19 6:24 AM, Rodney W. Grimes wrote:
>> Does the card have multiple BARs? Can you send us the output of pciconf -lvb for the card?
>> There is a bug in bhyve where if the OS assigns the 0xffffffff sentinel to more than one BAR simultaneously it is not compatible with bhyve?s memory model for the guest.
> The "we talked" below is myself and Nick talking about exactly that
> which came from jhb@ pointing out to me in a hall wall
> conversation here at BSDCan that this is the cause of this
> problem and is a known issue.
> Does anyone have fixes for this issue?
I have not tested this at all, but I have a candidate patch to fix the root
issue at https://github.com/freebsd/freebsd/compare/master...bsdjhb:bhyve_passthrough_barsize
My first guess at the problem wasn't quite right (though Windows does indeed size
BARs in parallel). For pass-through devices we aren't currently correctly disabling
access to a BAR when the guest disables it in the PCI command register which in
turn trips the assertion when using a Windows guest, but in general we need to be
honoring the enable bits when set or cleared by the guest.
More information about the freebsd-virtualization