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
}
相关推荐
我的golang之路果然有问题1 分钟前
Docker 之常用操作(实习中的)
java·运维·笔记·docker·容器·eureka
gravity_w2 分钟前
vscode配置SSH远程服务器
服务器·经验分享·vscode·ssh
neo_will_mvp2 分钟前
通过commit创建镜像
linux·运维·服务器
开发者导航2 分钟前
【开发者导航】完全免费且灵活的域名注册与托管平台:FreeDomain
服务器·程序人生·开源软件
go_bai6 分钟前
生产消费模型-简洁线程池
linux·c++·笔记
Knight_AL9 分钟前
深入解析数据库四大事务隔离级别及其实际应用
服务器·数据库·oracle
lisanmengmeng13 分钟前
cephfs rbd应用
linux·运维·服务器·ceph
牛奔16 分钟前
Docker 容器无法停止的排障与解决全过程
运维·docker·云原生·容器·eureka
不想画图24 分钟前
Kubernetes(五)——rancher部署和Pod详解
linux·kubernetes·rancher
郝学胜-神的一滴24 分钟前
Linux 读写锁深度解析:原理、应用与性能优化
linux·服务器·c++·程序人生·性能优化