Article ID: 000095678 Content Type: Error Messages Last Reviewed: 06/18/2024

Why does the R-Tile Avalon® Streaming FPGA IP for PCI Express* example driver fail to install correctly? It can't be installed in CentOS* 8?

Environment

  • Intel® Quartus® Prime Pro Edition
  • OS Independent family

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    When trying to install the example driver generated by the R-Tile Avalon® Streaming FPGA IP for PCI Express* Design Example in CentOS* 8, error messages like those shown below will be seen:

     

    error: macro "access_ok" passed 3 arguments, but takes just 2

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

    error: ‘access_ok’ undeclared (first use in this function)

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

     

     

    Resolution

    A Linux* kernel mismatch causes these errors. The following steps can help to resolve this issue:

    • In intel_fpga_pcie_chr.c, delete the first argument (VERIFY_WRITE/VERIFY_READ) of function "access_ok"
    • In intel_fpga_pcie_ioctl.c, replace the name of function "dma_zalloc_coherent" with "dma_alloc_coherent"
    • In intel_fpga_pcie_ioctl.c, in "access_ok(uarg, sizeof(uarg))", change the argument uarg to (void__user *)uarg
    • In intel_fpga_pcie_setup.c, replace the name of function "ioremap_nocache" with "ioremap_cache"
    • In intel_fpga_pcie_setup.c, comment the line of codes "MODULE_SUPPORTED_DEVICE("Intel(R) Stratix 10 FPGA")"

    The driver can be installed successfully and works correctly after these modifications.

    This problem isn't currently scheduled to be fixed.

    Related Products

    This article applies to 2 products

    Intel Agilex® 7 FPGAs and SoC FPGAs I-Series
    Intel Agilex® 7 FPGA I-Series Development Kits