文章 ID: 000095678 内容类型: 错误讯息 上次审核日期: 2024 年 06 月 18 日

为什么 R-Tile Avalon® Streaming FPGA IP for PCI Express* 示例驱动程序无法正确安装?它不能安装在 CentOS* 8 中?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • OS Independent family

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    尝试为 CentOS* 8 中的 PCI Express* 设计示例安装由 R-Tile Avalon® Streaming FPGA IP 生成的示例驱动程序时,将看到如下所示的错误消息:

    错误:宏“access_ok”传递了 3 个参数,但只需要 2 个参数

    if(! access_ok(VERIFY_WRITE, buf, sizeof(buf))) {

    错误:“access_ok”未声明(首次在此函数中使用)

    if(! access_ok(VERIFY_WRITE, buf, sizeof(buf))) {

    解决方法

    Linux* 内核不匹配会导致这些错误。以下步骤可以帮助解决此问题:

    • intel_fpga_pcie_chr.c 中,删除 函数“access_ok”的第一个参数 (VERIFY_WRITE/VERIFY_READ)
    • intel_fpga_pcie_ioctl.c 中,将函数 “dma_zalloc_coherent” 的名称替换为 “dma_alloc_coherent”
    • 在 intel_fpga_pcie_ioctl.c 中,在“access_ok(uarg, sizeof(uarg))”中,将参数 uarg 更改为 (void__user *)uarg
    • intel_fpga_pcie_setup.c 中,将函数“ioremap_nocache”的名称替换为“ioremap_cache”
    • intel_fpga_pcie_setup.c 中,注释代码行 “MODULE_SUPPORTED_DEVICE(”英特尔® Stratix 10 FPGA“)”

    进行这些修改后,驱动程序可以成功安装并正常工作。

    此问题当前未计划修复。

    相关产品

    本文适用于 2 产品

    英特尔® Agilex™ 7 FPGA 和 SoC FPGA I 系列
    英特尔® Agilex™ I 系列 FPGA 开发套件

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。