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
}
相关推荐
小米里的大麦1 小时前
022 基础 IO —— 文件
linux
Xの哲學1 小时前
Perf使用详解
linux·网络·网络协议·算法·架构
门前灯1 小时前
Linux系统之iprconfig 命令详解
linux·运维·服务器·iprconfig
tb_first1 小时前
k8sday09
linux·云原生·容器·kubernetes
忧郁的橙子.1 小时前
三、k8s 1.29 之 安装2
linux·运维·服务器
huangyuchi.2 小时前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作
闻不多2 小时前
用llamaindex搭建GAR遇到400
android·运维·服务器
jim写博客2 小时前
Linux进程概念(四)环境地址变量
linux·运维·服务器
是小崔啊2 小时前
【Jenkins】01 - Jenkins安装
运维·jenkins
稚辉君.MCA_P8_Java2 小时前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes