First VF Offset(offset 14h),PF的第一个VF的routing ID offset。 VF Stride(offset 16h),表示该PF中不同VFs之间的routing ID offset。 VF Device ID(offset 1Ah),表示每个VF呈现给SI的device ID。 Supported Page Sizes(offset 1Ch),表示该PF可支持的page size(4kB*2n if bit n is set)。协议要求PFs...
Function Dependency Link(offset 12h)表示不同功能之间的依赖关系,如果没有,则可以填写PF自己的功能号。First VF Offset(offset 14h)表示PF的第一个VF的路由ID偏移。VF Stride(offset 16h)表示PF中不同VFs之间的路由ID偏移。VF Device ID(offset 1Ah)表示每个VF呈现给SI的设备ID。Supported ...
作为Enpoint设备,PCIe 可以拥有多个PF(physical functions)和多个VF(virtual functions),每个function可以独自进行复位操作,这就是 FLR(Function Level Reset) 。 当一个多function设备(a multi function device)中的某个function出现问题时,如果通过传统复位方式将会影响所有function,此时可以通过FLR进行复位,不会对其他fu...
配置空间寄存器有些是只读的,有些是可写的。 Device ID 和 Vendor ID 寄存器 这两个寄存器分别存放了设备信息和厂商信息(值在0X0000和0XFFFF之间,但不能取0XFFFF),因此软件开发者可以通过读取这两个寄存器的值,并与0XFFFF比较,从而判断当前设备是否有效。 Command和Status寄存器 Command寄存器存放了设备的配置信息,比...
Device ID为非全F表示有设备 通过HeaderType判断是桥还是EP 修改0号总线0号设备0号功能(P2P桥)的Primary、Secondary和Subordinate总线号 读1号总线的0号设备0号功能的配置空间 如果识别到该设备是EP设备,会根据device ID、vender ID和Class Code确定驱动;通过BAR寄存器探索设备实现的Memory或IO空间 ...
即virtual function技术,例如可以通过SR-IOV技术在一个服务器中虚拟化多个网卡VF的技术来实现多张网卡。使用 SR-IOV 技术,将 PF 映射为多个 VFs,使得每个 VF 都可以绑定到 VM(虚拟机)。本质上是虚拟机绕过Hypervisor层直接调用EP的功能。 如此,吞吐量性能和 CPU 使用效率确实得到了改善,但灵活性却降低了,复杂性...
IOVM:为每个VF分配了完整的虚拟配置空间,客户机可以像普通设备一样配置VF。一般我们的主机发现所有PCIe设备是通过枚举实现的,但是,初始化SR-IOV不能简单的扫描PCIe Vendor ID和Device ID列举出所有VF,因为VF没有完整的PCIe配置空间。可以用Linux PCI热插拔API动态为宿主机增加VF,然后分配给客户机。IOVM为每个VF分配...
NumVFs域控制可使能的VF数量。VF与PF之间通过Function Dependency Link描述依赖关系,确保相互依赖的PF和VF被分配给同一VM。First VF Offset和VF Stride分别定义了PF的第一个VF的路由ID偏移量以及VF路由ID之间的偏移量。VF Device ID可能与PF的Device ID不同。VF的mmio(内存映射I/O)基地址计算通过VF...
[ 0.378282] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup [ 0.378309...
6.2.3.2. PCIe0 PF0 VF IDs Table 71. PCIe0 PF0 VF IDs settings ParameterRangeValueDescription Device ID 16 bits 0x00000000 Sets the read-only value of the Device ID register for the virtual functions Subsystem ID 16 bits 0x00000000 Sets the read-only value of the Subsystem ID register...