此类问题通常是因为机器没有打开IOMMU导致,FPGA寻址的时候给出的是虚拟地址,因为机器配置未开启虚拟地址到物理地址的转换,所以导致找不到真实的内存空间,因此出现DMA状态不对。解决方案如下:
修改 文件,添加以下内容/etc/default/grub
intel 机器配置:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt"
amd 机器配置:
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt"
