Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jan 2014 08:46:19 -0800
From:      Neel Natu <neelnatu@gmail.com>
To:        Sergey Matveychuk <sem@semmy.ru>
Cc:        "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org>
Subject:   Re: bhyve: can't to passthru bge(4) card
Message-ID:  <09444E73-EF4F-473F-9A75-8B0DA73E2620@gmail.com>
In-Reply-To: <52DE3D8A.5070209@semmy.ru>
References:  <52DD7C56.4090804@semmy.ru> <CAFgRE9Gc-gzwK0_r-8OaFi-1U_Di6QtWqL%2BeeJdcqK%2Bm2Hwddg@mail.gmail.com> <52DE3D8A.5070209@semmy.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Sergey,

> On Jan 21, 2014, at 1:27 AM, Sergey Matveychuk <sem@semmy.ru> wrote:
>=20
> 21.01.2014 8:56, Neel Natu =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>> I suspect that this is because the function number of the virtual PCI
>> device and the physical PCI device are different.
>>=20
>> Could you try to use the following instead: -s 2:1,passthru,3/0/1
>=20
> Thank you. It works.
>=20
> I've tried 3:1,passthru,3/0/1 but it does not work. What rules for a slot n=
umber to choose?
>=20

It depends on the PCI function that you are passing to the guest.

For some, e.g. Intel e1000, it does not matter. You can have it appear on a c=
ompletely different function number in the guest as compared to the host.

For others, e.g. bge, as you discovered, the function numbers in the guest a=
nd host have to match.

Also, PCI requires that for a multi-function device, function 0 must be pres=
ent. So, it is not possible to assign a device to a function > 0 without als=
o having some device present at function 0.

Hope that helps.

Best
Neel

>>=20
>> Alternatively you could try assigning the physical PCI device 3/0/0:
>> -s 3:0,passthru,3/0/0
>=20
> 3/0/0 is a first network card. I'd like to leave it for the host system.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?09444E73-EF4F-473F-9A75-8B0DA73E2620>