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
}
相关推荐
噔噔君12 小时前
嵌入式模组拨号获取IP地址时,设置的ippass是什么原理,起到什么作用?
服务器·网络协议·tcp/ip·ip
无敌最俊朗@12 小时前
VMware Ubuntu 虚拟机网络故障分析报告
服务器·网络·ubuntu
Wins_calculator12 小时前
Fixed VLC snap on Ubuntu
linux·ubuntu·vlc·snap
CodeCraft Studio12 小时前
PDF处理控件Aspose.PDF教程:在C#中将PDF转换为Base64
服务器·pdf·c#·.net·aspose·aspose.pdf·pdf转base64
偶尔贪玩的骑士12 小时前
Kioptrix Level 1渗透测试
linux·开发语言·网络安全·php
我命由我1234512 小时前
Spring Cloud - Spring Cloud 微服务概述 (微服务的产生与特点、微服务的优缺点、微服务设计原则、微服务架构的核心组件)
java·运维·spring·spring cloud·微服务·架构·java-ee
楠木s12 小时前
ctfshow pwn44
linux·服务器·网络·安全·网络攻击模型·二进制
ajassi200013 小时前
开源 Linux 服务器与中间件(七)数据库--MySQL
linux·服务器·数据库·ubuntu·开源
---学无止境---13 小时前
Linux中页表缓存初始化pgtable_cache_init函数的实现
linux
风为你而吹13 小时前
【玩泰山派】8、泰山派安装armbian,玩armbian
linux