文章 ID: 000098503 内容类型: 故障排除 上次审核日期: 2024 年 05 月 31 日

为什么 CentOS 8 中无法安装 PCI Express* 的多通道 DMA FPGA IP 的 DPDK 轮询模式驱动程序?

环境

    英特尔® Quartus® Prime Pro Edition

CentOS 8

BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

为什么 PCI Express* 的多通道 DMA FPGA IP 的 DPDK 轮询模式驱动程序无法在 CentOS 8 中安装?

由于 PCI Express 的多通道 DMA FPGA IP 的 DPDK 轮询模式驱动程序存在问题,在 CentOS 8 中安装时,您可能会观察到以下错误消息。

./include/linux/dev_printk.h:148:24: 错误:此语句可能会失败 [-Werror=implicit-fallthrough=]
dev_printk_index_wrap(_dev_notice, KERN_NOTICE, dev, dev_fmt(fmt), ##__VA_ARGS__)
^
/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/igb_uio.c:447:3:注意:在扩展宏“dev_notice”
dev_notice(&udev->pdev->dev, “PCI INTX mask not supported\n”);
^
/home/cxl_meb/h_mcdma/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/igb_uio.c:449:2:注意:这里
案例 RTE_INTR_MODE_NONE:
^
/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/drivers/vdpa/ifc/base/ifcvf.h:16: error: “VIRTIO_F_IOMMU_
#define VIRTIO_F_IOMMU_PLATFORM 33

解决方法

要变通解决此问题,请 根据以下步骤修改 DPDK 轮询模式驱动程序的源代码:

  1. 打开 <workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/igb_uio.c,如果遗漏了,请在函数 ' igbuio_pci_enable_msix_interrupts' 中的每个案例中添加 'break;'。
  2. 打开 <workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/drivers/vdpa/ifc/base/ifcvf.h,注释掉 'define VIRTIO_F_IOMMU_PLATFORM 33' 。
  3. 保存 重新编译 驱动程序。

相关产品

本文适用于 2 产品

英特尔® Agilex™ 7 FPGA 和 SoC FPGA
Stratix® FPGAs

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。