Date: Tue, 14 Mar 2017 08:30:56 -0500 From: Eric van Gyzen <vangyzen@FreeBSD.org> To: Mu Lichao <mulichao@outlook.com>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: PCI slot and function number for ARI enabled devices Message-ID: <e1b94e33-d850-08f5-0e54-809b03186472@FreeBSD.org> In-Reply-To: <HK2PR02MB0772321CB8F10557CD6291BCC4240@HK2PR02MB0772.apcprd02.prod.outlook.com> References: <HK2PR02MB0772321CB8F10557CD6291BCC4240@HK2PR02MB0772.apcprd02.prod.outlook.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 03/14/2017 01:37, Mu Lichao wrote: > Hi, > > I am trying to enable Intel 82599 10GbE SR-IOV VFs on FreeBSD 12-CURRENT, and after enabled, the SR-IOV VFs can be seen by pciconf(1), but can not be seen by lspci(1), which is installed from ports/sysutils/pciutils: > # pciconf -l | tail -2 > ixv0@pci0:1:0:128: class=0x020000 card=0x002a1fc1 chip=0x10ed8086 rev=0x01 hdr=0x00 > ixv1@pci0:1:0:130: class=0x020000 card=0x002a1fc1 chip=0x10ed8086 rev=0x01 hdr=0x00 > > # lspci | grep 82599 > 01:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) > 01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) > > After some debugging, I found that it is because of ARI. After ARI is enabled, the slot number is always 0 and the function number can be range between 0 and 255 when reading from /dev/pci, and this breaks lspci(1). > > Is it a behavior by design or not? It is by design. See section 6.13 of the PCIe specification. I imagine lspci will need to be fixed. Eric
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e1b94e33-d850-08f5-0e54-809b03186472>