仅对英特尔可见 — GUID: szy1527194702880
Ixiasoft
D.1. 当在AFU映像上运行fpgasupdate时,为什么会看到'No Suitable slots found'消息?
D.2. 需要哪些环境变量?
D.3. 如果看到错误消息'Error enumerating resources: no driver available'该怎么做?
D.4. 安装OPAE驱动程序后,命令lsmod | grep fpga不显示任何输出。如何成功安装OPAE驱动程序?
D.5. 命令rpm -qa | grep opae不返回已安装的opae rpm package。如何成功安装此软件包?
D.6. 如果 Intel® FPGA PAC D5005没有显示在PCIe总线上,该怎么做?
仅对英特尔可见 — GUID: szy1527194702880
Ixiasoft
7.2. 配置主机上的VF端口
默认情况下,PF控制AFU端口。以下程序将AFU控制转移到VF。转移到VF控制后,在VM上运行的应用程序可以访问AFU。
在多卡系统中,如果只想在单一PCIe器件上配置VF,那么请运行以下命令来查找特定PCIe的器件映射:
ls -l /sys/class/fpga/intel-fpga-dev.*样例输出:
/sys/class/fpga/intel-fpga-dev.0 -> ../../devices/pci0000:36/0000:36:00.0/0000:37:00.0/fpga/intel-fpga-dev.0 /sys/class/fpga/intel-fpga-dev.1 -> ../../devices/pci0000:ae/0000:ae:00.0/0000:af:00.0/fpga/intel-fpga-dev.1
要在以下命令中使用PCIe B:D.F (AF:00.0)和B:D.F (37:00.0),请分别使用instance id 1和0替换*。
- 请运行以下命令来导出所需的路径:
export port_path=$(find /sys/class/fpga/intel-fpga-dev.* \-maxdepth 1 -follow -iname intel-fpga-port.*) export link_path=$(readlink -m /$port_path/../) export pci_path=$link_path/../../
- 使用fpgaport工具释放由PF控制的端口:
sudo fpgaport release /dev/intel-fpga-fme.* 0
- 使能SR-IOV和VF。每个VF有1个AFU端口:
sudo sh -c "echo 1 > $pci_path/sriov_numvfs"
- 查找VF Device的其他Device编号:
lspci -nn | grep :0b2[bc]
样例输出:04:00.0 Processing accelerators [1200]: Intel Corporation Device [8086:0b2b] 04:00.1 Processing accelerators [1200]: Intel Corporation Device [8086:0b2c]
lspci显示一个额外的Device编号,0b2c。这是分配给VM的VF Device。PF的原始Bus和Device编码保持为0b2b。
请注意:VF器件的Domain:Bus:Device.Function (BDF)表示法为000:04:00.1
- 加载vfio-pci驱动程序:
sudo modprobe vfio-pci
- 解除VF Device与其驱动程序的绑定:
sudo sh -c "echo 0000:04:00.1 > \ /sys/bus/pci/devices/0000:04:00.1/driver/unbind"
- 查找VF Device的Vendor ID和Device ID:
lspci -n -s 04:00.1
预期输出:
04:00.1 1200: 8086:0b2c
- 绑定VF和vfio-pci驱动程序:使用上一步中的Vendor ID和Device ID。
sudo sh -c "echo 8086 0b2c > \ /sys/bus/pci/drivers/vfio-pci/new_id"