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
}
相关推荐
钰衡大师几秒前
Nohup 使用技术文档
linux·服务器·运维开发·unix
Sakuyu434682 分钟前
zabbix源码安装
linux·运维·zabbix
赖亦无14 分钟前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学
穷人小水滴21 分钟前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏
恋红尘23 分钟前
K8S 控制器-资源调度-叩丁狼
linux·docker·kubernetes
weixin_5375904525 分钟前
《C程序设计语言》练习答案(练习1-7)
linux·c语言·算法
123过去2 小时前
ike-scan使用教程
linux·测试工具
疯狂吧小飞牛9 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈9 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hjxu201610 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker