Date: Tue, 21 May 2019 09:40:27 -0700 From: John Baldwin <jhb@FreeBSD.org> To: "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>, Robert Crowston <crowston@protonmail.com> Cc: freebsd-virtualization@freebsd.org Subject: Re: Windows 10 guests fail to boot when attempting to passthrough network card Message-ID: <4460bfe3-ccc8-f982-9097-954c01331502@FreeBSD.org> In-Reply-To: <201905191324.x4JDOOoh069468@gndrsh.dnsmgr.net> References: <201905191324.x4JDOOoh069468@gndrsh.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4460bfe3-ccc8-f982-9097-954c01331502>