Xilinx-FPGA-PCIe-XDMA 驱动内核兼容性问题修复方案

问题1:implicit declaration of function "mmiowb()"

解决方法:在 libxdma.c 和 cdev_xvc.c 文件中注释掉所有 mmiowb () 函数调用

问题2: "macro"access_ok"passed 3 arguments, but takes just 2"

解决方法:修改 cdev_ctrl.c 文件中两处 access_ok 宏调用

cpp 复制代码
-      result = !access_ok(VERIFY_READ, (void __user *)arg,
+      result = !access_ok((void __user *)arg,

问题3: "implicit declaration of function 'pci_cleanup_aer_uncorrect_error_status'"

解决方法:在 xdma_mod.c 文件中添加版本判断,根据内核版本选择不同的函数调用

cpp 复制代码
static void xdma_error_resume(struct pci_dev *pdev){
        struct xdma_pci_dev *xpdev = dev_get_drvdata(&pdev->dev);

        pr_info("dev 0x%p,0x%p.\n", pdev, xpdev);
+#if KERNEL_VERSION(5, 7, 0) <= LINUX_VERSION_CODE
        pci_aer_clear_nonfatal_status(pdev);
+#else
        pci_cleanup_aer_uncorrect_error_status(pdev);
+#endif
}
相关推荐
就不掉头发9 小时前
计算机的虚拟内存
linux·服务器·windows
暴力求解9 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
smartvxworks9 小时前
Linux 实时内核(Linux Real-Time Kernel)详解:原理、实践与优化
java·linux·服务器
梦痕长情10 小时前
等保三级三权账户
linux·运维·服务器
wuqingshun31415911 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip
CHANG_THE_WORLD11 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
jiecy11 小时前
为Linux系统双网卡配置静态路由
linux·运维
CodexDave12 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
weixin_3077791312 小时前
Linux下Jenkins数据故障的系统化排查Shell脚本
linux·运维·服务器·jenkins