从主/次设备号映射到 lspci 域:总线:插槽

从主/次设备号映射到 lspci 域:总线:插槽

/dev 主次设备号与 lspci 输出 (域:总线:插槽号) 之间是否存在映射?我想确定距离特定硬件设备最近的 CPU。

答案1

我假设您说的是带有 BIOS 的 x86 平台。我认为两者之间没有直接关系,只是检测方式不同,取决于很多因素,尤其是 BIOS。

也许您可以使用 udev-rules 来发明自己的方案。这里是一个教程。KERNELS 变量似乎是此处的相关指标。

答案2

什么样的设备?有些(例如网络接口)没有设备节点 - 但对于块设备之类的东西,您可以从 sysfs 中获取一些信息:

$ readlink /sys/block/sda/device/scsi_device*/device 
../../../devices/pci0000:00/0000:00:09.0/0000:03:00.0/0000:04:00.0/0000:05:00.0/host0/port-0:0/end_device-0:0/target0:0:0/0:0:0:0

答案3

事实证明,该字符设备实际上具有设备显示功能,其控制程序之一中有一个命令行开关。映射结果遵循 lspci 的映射(按发现顺序显示设备),因此我认为 PCI 发现方法必须以类似的方式进行。

相关内容