linux:system:pcibus:pcibus
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| linux:system:pcibus:pcibus [2025/09/20 15:21] – oscar | linux:system:pcibus:pcibus [2025/09/20 15:56] (current) – [Query via lspci] oscar | ||
|---|---|---|---|
| Line 34: | Line 34: | ||
| | | ||
| </ | </ | ||
| - | The portion in brackets on the first line (**// | + | The portion in brackets on the first line (**// |
| + | However, the following devices are not directly on bus 0, but on Bus 1 and Bus 2 respectively: | ||
| + | * +-1c.0-[01]----00.0 | ||
| + | * +-1d.0-[02]----00.0 | ||
| - | ===== sysfs PCI support | + | The Micron NVMe SSD is accessed through a device at 1d.0 on this bus, which thus has the (abbreviated) PCIe address of 00:1d.0. 'lspci -v' tells me that this is a PCIe bridge, as expected: |
| + | * 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 ' | ||
| + | |||
| + | * Unordered List Item02:00.0 Non-Volatile memory controller: Micron Technology Inc 2200S NVMe SSD | ||
| + | |||
| + | ===== Query via sysfs ===== | ||
| The Linux kernel represents PCI devices as pseudo-devices in the sysfs file system. Linux lists these devices in **/// | The Linux kernel represents PCI devices as pseudo-devices in the sysfs file system. Linux lists these devices in **/// | ||
| < | < | ||
| Line 62: | Line 72: | ||
| lrwxrwxrwx 1 root root 0 20 sep 13:53 0000: | lrwxrwxrwx 1 root root 0 20 sep 13:53 0000: | ||
| </ | </ | ||
| + | |||
| + | ===== Query via lspci ===== | ||
| + | < | ||
| + | # 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) | ||
| + | </ | ||
| + | |||
| + | 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.1758381668.txt.gz · Last modified: by oscar
