Project

General

Profile

Feature #9113

Expose vendor-name/device-name/subsystem-name as props on pcifn/pciexfn topo nodes

Added by Rob Johnston almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
2018-02-15
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

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.

History

#1

Updated by Rob Johnston almost 2 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>
#2

Updated by Rob Johnston almost 2 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
#3

Updated by Electric Monk almost 2 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>

Also available in: Atom PDF