在
struct pci_dev,
我只能看到总线和功能:
struct pci_bus *bus;
和
unsigned int devfn;
似乎没有(B / D / F)的设备信息?
和
struct pci_slot *slot;
在我的测试中,*插槽指向NULL,为什么?
答案 0 :(得分:0)
Devfn在第7:3位包含设备编号,在第2:0位包含功能编号。总线号在bus-> number中。所以BDF是
bus->number << 8 | devfn
我不知道广告位;也许您正在查看的设备是集成设备?
答案 1 :(得分:0)
我发现:
device = PCI_SLOT(pdev->devfn);
fn = PCI_FUNC(pdev->devfn);
https://elixir.bootlin.com/linux/v3.5/source/include/linux/pci.h#L31