3.1.5. PCIe Kernel Driver for the Intel® Arria® 10 GX FPGA Development Kit Reference Platform
This driver is installed using the Intel® FPGA SDK for OpenCL™ install utility.
The a10_ref Reference Platform
- For Windows systems, the driver is in the <path_to_al0pciedk>\windows64\driver folder.
The kernel driver, the WinDriver application programming interface (API), is a third-party driver from Jungo Connectivity Ltd. For more information about the WinDriver, refer to the Jungo Connectivity Ltd. website or contact a Jungo Connectivity representative.
- For Linux, an open-source MMD-compatible kernel driver is in the <path_to_al0pciedk>/linux64/driver directory. The table below highlights some of the files that are available in this directory.
|pcie_linux_driver_exports.h||Header file that defines the special commands that the kernel driver supports.
The installed kernel driver works as a character device. The basic operations to the driver are open(), close(), read(), and write().
To execute a complicated command, create a variable as an acl_cmd struct type, specify the command with the proper parameters, and then send the command through a read() or write() operation. This header file defines the interface of the kernel driver, which the MMD layer uses to communicate with the device.
|aclpci.c||File that implements the Linux kernel driver's basic structures and functions, such as the init, remove, and probe functions, as well as hardware design-specific functions that handle interrupts.
For more information about the interrupt handler, refer to the Message Signaled Interrupts section.
|aclpci fileio.c||File that implements the kernel driver's file I/O operations.
The kernel driver that is available with the a10_ref Reference Platform supports four file I/O operations: open(), close(), read(), and write(). Implementing these file I/O operations allows the OpenCL* user program to access the kernel driver through the file I/O system calls (that is, open, read, write, or close).
|aclpci cmd.c||File that implements the specific commands defined in the pcie_linux_driver_exports.h file.
These special commands include SAVE_PCI_CONTROL_REGS, LOAD_PCI_CONTROL_REGS, DO_PR, GET_PCI_SLOT_INFO, and so on.
|aclpci dma.c||File that implements DMA and host channel-related routines in the kernel driver.
Refer to the Direct Memory Access section for more information.
|aclpci pr.c||File that implements PR-related routines in the kernel driver.
Refer to the Partial Reconfiguration section for more information.
|aclpci queue.c||File that implements a queue structure for use in the kernel driver to simplify programming.|
Did you find the information on this page useful?