Feature #9113
closedExpose vendor-name/device-name/subsystem-name as props on pcifn/pciexfn topo nodes
100%
Description
It would be nice if the values of the vendor-name /device-name/subsystem-name could be pulled out of libpcidb (similar to what prtconf does) and then exposed as topo properties on the corresponding pcifn/pciexfn nodes in the topo tree. This is would make it easier to associate the nodes with the actual PCIe devices and would make the output of things like "fmtopo" a bit more intuitive.
Updated by Rob Johnston over 4 years ago
This change has already been integrated into illumos-joyent via the commit below:
commit ffa9defc1d3296f24ed42b3d7f6c331d241aae4a Author: Rob Johnston <rob.johnston@joyent.com> Date: Fri Dec 22 09:00:22 2017 +0000 OS-6536 Expose vendor-name/device-name/subsystem-name as props on pciexfn topo nodes Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Robert Mustacchi <rm@joyent.com>
Updated by Rob Johnston over 4 years ago
Testing¶
Please see the original illumos-joyent ticket for details on how this change was tested:
https://smartos.org/bugview/OS-6536
Additionally, to sanity check the upstream fix, I used "onu" to create a BE on my openindiana workstation with these changes and verified that the pcifn/pciexfn nodes contained the expected vendor-name /device-name/subsystem-name properties:
root@openindiana:~# /usr/lib/fm/fmd/fmtopo -P pci "*pci*fn=[0-9]" TIME UUID Feb 15 12:53:37 1d0574d0-df2b-49dd-abc4-926c2f20b06e hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=0/pciexrc=0/pciexbus=1/pciexdev=0/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 1c82 extended-capabilities string pciexdev class-code string 30000 vendor-id string 10de assigned-addresses uint32[] [ 2181103632 0 3724541952 0 16777216 3271622676 0 3221225472 0 268435456 3271622684 0 3489660928 0 33554432 2164326436 0 57344 0 128 2701197312 0 944 0 12 2701197312 0 960 0 32 2717974528 0 655360 0 131072 ] vendor-name string NVIDIA Corporation device-name string GP107 [GeForce GTX 1050 Ti] hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=0/pciexrc=0/pciexbus=1/pciexdev=0/pciexfn=1 group: pci version: 1 stability: Private/Private device-id string fb9 extended-capabilities string pciexdev class-code string 40300 vendor-id string 10de assigned-addresses uint32[] [ 2181103888 0 3741843456 0 16384 ] vendor-name string NVIDIA Corporation device-name string GP107GL High Definition Audio Controller hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 8018 extended-capabilities string pciexswu class-code string 60400 vendor-id string 111d vendor-name string Integrated Device Technology, Inc. [IDT] device-name string PES12N3A PCI Express Switch hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=2/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 8018 extended-capabilities string pciexswd class-code string 60400 vendor-id string 111d vendor-name string Integrated Device Technology, Inc. [IDT] device-name string PES12N3A PCI Express Switch hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=2/pciexfn=0/pciexbus=4/pciexdev=0/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 10bc extended-capabilities string pciexdev class-code string 20000 vendor-id string 8086 assigned-addresses uint32[] [ 2181300240 0 3743940608 0 131072 2181300244 0 3743809536 0 131072 2164523032 0 53280 0 32 ] vendor-name string Intel Corporation device-name string 82571EB Gigabit Ethernet Controller (Copper) subsystem-name string x4 PCI-Express Quad Gigabit Ethernet UTP Low Pr hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=2/pciexfn=0/pciexbus=4/pciexdev=0/pciexfn=1 group: pci version: 1 stability: Private/Private device-id string 10bc extended-capabilities string pciexdev class-code string 20000 vendor-id string 8086 assigned-addresses uint32[] [ 2181300496 0 3743547392 0 131072 2181300500 0 3743416320 0 131072 2164523288 0 53248 0 32 ] vendor-name string Intel Corporation device-name string 82571EB Gigabit Ethernet Controller (Copper) subsystem-name string x4 PCI-Express Quad Gigabit Ethernet UTP Low Pr hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=4/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 8018 extended-capabilities string pciexswd class-code string 60400 vendor-id string 111d vendor-name string Integrated Device Technology, Inc. [IDT] device-name string PES12N3A PCI Express Switch hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=4/pciexfn=0/pciexbus=5/pciexdev=0/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 10bc extended-capabilities string pciexdev class-code string 20000 vendor-id string 8086 assigned-addresses uint32[] [ 2181365776 0 3742760960 0 131072 2181365780 0 3742629888 0 131072 2164588568 0 49184 0 32 ] vendor-name string Intel Corporation device-name string 82571EB Gigabit Ethernet Controller (Copper) subsystem-name string x4 PCI-Express Quad Gigabit Ethernet UTP Low Pr hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=2/pciexdev=0/pciexfn=0/pciexbus=3/pciexdev=4/pciexfn=0/pciexbus=5/pciexdev=0/pciexfn=1 group: pci version: 1 stability: Private/Private device-id string 10bc extended-capabilities string pciexdev class-code string 20000 vendor-id string 8086 assigned-addresses uint32[] [ 2181366032 0 3742498816 0 131072 2181366036 0 3742367744 0 131072 2164588824 0 49152 0 32 ] vendor-name string Intel Corporation device-name string 82571EB Gigabit Ethernet Controller (Copper) subsystem-name string x4 PCI-Express Quad Gigabit Ethernet UTP Low Pr hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number/motherboard=0/hostbridge=4/pciexrc=4/pciexbus=8/pciexdev=0/pciexfn=0 group: pci version: 1 stability: Private/Private device-id string 1242 extended-capabilities string pciexdev class-code string c0330 vendor-id string 1b21 assigned-addresses uint32[] [ 2198339600 0 3744464896 0 32768 ] vendor-name string ASMedia Technology Inc. device-name string ASM1142 USB 3.1 Host Controller
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 66d053586622b793fb2252b5365f76dd38610b97
commit 66d053586622b793fb2252b5365f76dd38610b97 Author: Rob Johnston <rob.johnston@joyent.com> Date: 2018-02-17T16:33:17.000Z 9113 Expose vendor-name/device-name/subsystem-name as props on pcifn/pciexfn topo nodes Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Yuri Pankov <yuripv@yuripv.net> Reviewed by: Ben Sims <ben.sims@tegile.com> Approved by: Richard Lowe <richlowe@richlowe.net>