2

我是 PCI 协议的新手,想知道设备的功能号存储在哪里?这对我来说很重要,因为我在 Windows 系统的 PCI 插槽中的定制卡上插入了一个广告。该卡包含同一设备的两个实例。我知道这两个设备将根据功能编号进行区分,因为我的总线编号和设备 ID 相同,但我无法理解何时分配给设备的功能编号以及它是否存储在我的设备 BAR 中?

4

2 回答 2

3

这个线程很好地回答了我:https ://www.osronline.com/showthread.cfm?link=155585

该功能允许单个插槽中的单个设备在操作系统中显示为多个逻辑设备。

这实质上在操作系统和设备之间创建了多个独立的通信通道。具体来说,每个函数都有自己的 BAR:PCIe 中的基地址寄存器 (BAR) 是什么?

一个示例是在操作系统中显示为两个 NIC 的网卡。

什么功能做什么完全取决于设备来实现。

于 2017-06-24T10:23:04.960 回答
1

功能号“嵌入”在硬件中,不存储在设备 BAR 中(其中 BAR 是具有读/写属性的 pci 配置空间寄存器)。在您的情况下,该卡具有 2 个功能,即功能 0 和 1(可能)。这在设备中是硬连线的,没有人可以改变它。在 PCI 枚举过程中,它将被识别/枚举,然后可以通过 (Bus,Dev,Func) 编号访问

于 2014-03-27T02:25:04.413 回答