ทําไมไดรเวอร์โหมดโพล DPDK ของ Multi Channel DMA FPGA IP Core สําหรับ PCI Express* ไม่สามารถติดตั้งใน CentOS 8 ได้
เนื่องจากปัญหาในไดรเวอร์โหมดโพล DPDK ของ Multi Channel DMA FPGA IP Core สําหรับ PCI Express คุณอาจสังเกตเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อติดตั้งใน 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: หมายเหตุ: ในการขยาย macro 'dev_notice'
dev_notice(ไม่รองรับ dev_notice&udev->pdev->dev, "ไม่รองรับ PCI INTX mask\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/ไดรเวอร์/vdpa/ifc/base/ifcvf.h:16: ข้อผิดพลาด: "VIRTIO_F_IOMMU_
#define VIRTIO_F_IOMMU_PLATFORM 33
เพื่อหลีกเลี่ยงปัญหานี้ ปรับเปลี่ยน ซอร์สโค้ดของไดรเวอร์โหมดโพล DPDK ตามขั้นตอนต่อไปนี้:
- Open <Workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/igb_uio.c, เพิ่ม ' break;' ให้กับแต่ละกรณีในฟังก์ชัน ' igbuio_pci_enable_msix_interrupts' หากพลาด
- Open <Workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/drivers/vdpa/ifc/base/ifcvf.h, คิดเห็น 'define VIRTIO_F_IOMMU_PLATFORM 33'
- บันทึก และ คอมไพล์ ไดรเวอร์ใหม่