Re: Windows 10 guests fail to boot when attempting to passthrough network card

2019-05-21 Thread John Baldwin
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 0x 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
___
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"


Re: Windows 10 guests fail to boot when attempting to passthrough network card

2019-05-21 Thread Rodney W. Grimes
> 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 0x 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

Could you please factor out the white space changes and do that
seperately and sooner, it clouds the S/N in this review a bit.

> 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.

That makes more since to me.  Thanks.

> -- 
> John Baldwin
-- 
Rod Grimes rgri...@freebsd.org
___
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"


Re: Windows 10 guests fail to boot when attempting to passthrough network card

2019-05-21 Thread John Baldwin
On 5/21/19 9:48 AM, Rodney W. Grimes wrote:
>> 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 0x 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
> 
> Could you please factor out the white space changes and do that
> seperately and sooner, it clouds the S/N in this review a bit.

I can pull those out, but this is just a testing patch still, not yet a commit
candidate.

-- 
John Baldwin
___
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"


Re: Windows 10 guests fail to boot when attempting to passthrough network card

2019-05-21 Thread Rodney W. Grimes
[ Charset UTF-8 unsupported, converting... ]
> On 5/21/19 9:48 AM, Rodney W. Grimes wrote:
> >> 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 0x 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
> > 
> > Could you please factor out the white space changes and do that
> > seperately and sooner, it clouds the S/N in this review a bit.
> 
> I can pull those out, but this is just a testing patch still, not yet a commit
> candidate.

Thanks and even more reason to pull those out, IMHO

> -- 
> John Baldwin
-- 
Rod Grimes rgri...@freebsd.org
___
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"


Re: Windows 10 guests fail to boot when attempting to passthrough network card

2019-05-21 Thread Nick Principe
On Tue, May 21, 2019 at 1:05 PM Rodney W. Grimes <
freebsd-...@gndrsh.dnsmgr.net> wrote:

> [ Charset UTF-8 unsupported, converting... ]
> > On 5/21/19 9:48 AM, Rodney W. Grimes wrote:
> > >> 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 0x
> 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
> > >
> > > Could you please factor out the white space changes and do that
> > > seperately and sooner, it clouds the S/N in this review a bit.
> >
> > I can pull those out, but this is just a testing patch still, not yet a
> commit
> > candidate.
>
> Thanks and even more reason to pull those out, IMHO
>

Using John's patches, the Windows 10 guest can successfully boot and see
the NIC ports. I've tested it as far as successfully getting link state
change in Windows when I connect the two ports of the NIC to each other.

I started putting together a second system to test on where I can actually
get 40GbE link to another machine, but am running into separate (probably
AMD-related) issues. I can successfully boot the Windows 10 guest (though
initial configuration of the NICs generated a reboot, perhaps a panic -
didn't catch it in time) but connecting the two ports to each other did not
result in a link state change in Windows. For now I'll continue to focus on
the Intel-based machine that is working well. I may be able to get a 40GbE
link tomorrow to test performance.


>
> > --
> > John Baldwin
> --
> Rod Grimes
> rgri...@freebsd.org
> ___
>
>
`nap
___
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"