Mengapa Driver Mode Polling DPDK dari IP FPGA DMA Multisaluran untuk PCI Express* gagal diinstal di CentOS 8?
Karena masalah pada DPDK Poll Mode Driver Multi Channel DMA FPGA IP untuk PCI Express, Anda mungkin mengamati pesan kesalahan berikut saat menginstalnya di CentOS 8.
./include/linux/dev_printk.h:148:24: error: pernyataan ini mungkin jatuh melalui [-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: Catatan: dalam perluasan makro 'dev_notice'
dev_notice(&udev->pdev->dev, "masker PCI INTX tidak didukung\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: Catatan: di sini
Kasus RTE_INTR_MODE_NONE:
^
/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/drivers/vdpa/ifc/base/ifcvf.h:16: galat: "VIRTIO_F_IOMMU_
#define VIRTIO_F_IOMMU_PLATFORM 33
Untuk mengatasi masalah ini, memodifikasi kode sumber DPDK Poll Mode Driver sesuai dengan langkah-langkah berikut:
- Buka <workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/igb_uio.c, tambahkan ' break;' ke setiap kasus dalam fungsi ' igbuio_pci_enable_msix_interrupts' jika terlewatkan.
- Buka <workspace>/p0_software/dpdk/dpdk/patches/v20.05-rc1/dpdk/drivers/vdpa/ifc/base/ifcvf.h, beri komentar 'tentukan VIRTIO_F_IOMMU_PLATFORM 33' .
- Simpan dan kompilasi ulang driver.