User Tools

Site Tools


linux:system:pcibus:pcibus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:system:pcibus:pcibus [2025/09/20 15:34] – [Understand PCI Bus Structure] oscarlinux:system:pcibus:pcibus [2025/09/20 15:56] (current) – [Query via lspci] oscar
Line 43: Line 43:
   * 00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0) (prog-if 00 [Normal decode])   * 00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0) (prog-if 00 [Normal decode])
  
-Much like the []s of the root of the tree, the '[01]' bit after it in 'lspci -tv' means that all PCIe devices under this bridge are on bus 01, and there is only one of them, the NVMe drive, which will thus have the PCIe address 01:00.0:+Much like the []s of the root of the tree, the '[02]' bit after it in 'lspci -tv' means that all PCIe devices under this bridge are on bus 02, and there is only one of them, the NVMe drive, which will thus have the PCIe address 02:00.0:
  
-    01:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. Device 2263 [...]+  * Unordered List Item02:00.0 Non-Volatile memory controller: Micron Technology Inc 2200S NVMe SSD
  
-===== sysfs PCI support =====+===== Query via sysfs =====
 The Linux kernel represents PCI devices as pseudo-devices in the sysfs file system. Linux lists these devices in **///sys/bus/pci/devices//**. The Linux kernel represents PCI devices as pseudo-devices in the sysfs file system. Linux lists these devices in **///sys/bus/pci/devices//**.
 <code> <code>
Line 72: Line 72:
 lrwxrwxrwx 1 root root 0 20 sep 13:53 0000:02:00.0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:02:00.0 lrwxrwxrwx 1 root root 0 20 sep 13:53 0000:02:00.0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:02:00.0
 </code> </code>
 +
 +===== Query via lspci =====
 +<code>
 +# lspci -n
 +
 +00:00.0 0600: 8086:3ec2 (rev 07)
 +00:02.0 0300: 8086:3e92
 +00:08.0 0880: 8086:1911
 +00:12.0 1180: 8086:a379 (rev 10)
 +00:14.0 0c03: 8086:a36d (rev 10)
 +00:14.2 0500: 8086:a36f (rev 10)
 +00:16.0 0780: 8086:a360 (rev 10)
 +00:17.0 0106: 8086:a352 (rev 10)
 +00:1c.0 0604: 8086:a33c (rev f0)
 +00:1d.0 0604: 8086:a330 (rev f0)
 +00:1f.0 0601: 8086:a304 (rev 10)
 +00:1f.3 0403: 8086:a348 (rev 10)
 +00:1f.4 0c05: 8086:a323 (rev 10)
 +00:1f.5 0c80: 8086:a324 (rev 10)
 +01:00.0 0200: 10ec:8168 (rev 15)
 +02:00.0 0108: 1344:5410 (rev 01)
 +</code>
 +
 +We can break each line down like this:
 +  * Field 1 : 02:00.0 : bus number (02), device number (00) and function (0)
 +  * Field 2 : 0108    : device class
 +  * Field 3 : 1344    : vendor ID
 +  * Field 4 : 5410    : device ID
 +
linux/system/pcibus/pcibus.1758382455.txt.gz · Last modified: by oscar