Visible to Intel only — GUID: ewa1437423363878
Ixiasoft
Visible to Intel only — GUID: ewa1437423363878
Ixiasoft
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.
File | Description |
---|---|
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. |