Visible to Intel only — GUID: odn1503621212998
Ixiasoft
1.1.1. FPGA Management Engine (FME)
1.1.2. Port
1.1.3. Accelerator Function (AF) Unit
1.1.4. Partial Reconfiguration
1.1.5. FPGA Virtualization
1.1.6. Driver Organization
1.1.7. Application FPGA Device Enumeration
1.1.8. PCIe Driver Enumeration
1.1.9. FME Platform Device Initialization
1.1.10. Port Platform Device Initialization
1.1.11. FME IOCTLs
1.1.12. Port IOCTLs
1.2.1. FME Header sysfs files
1.2.2. FME Thermal Management sysfs files
1.2.3. FME Power Management sysfs files
1.2.4. FME Global Error sysfs files
1.2.5. FME Partial Reconfiguration sysfs files
1.2.6. FME Global Performance sysfs files
1.2.7. Port Header sysfs files
1.2.8. Port AFU Header sysfs files
1.2.9. Port Error sysfs files
Visible to Intel only — GUID: odn1503621212998
Ixiasoft
1.1.6.1. PCIe Module Device Driver
Figure 3. Driver Organization
The FPGA devices appear as regular PCIe devices; thus, the FPGA PCIe device driver (intel-fpga-pci.ko) is always loaded first once an FPGA PCIe PF or VF is detected. This driver plays an infrastructural role in the driver architecture. It:
- Creates an FPGA container device as parent of the feature devices.
- Walks through the Device Feature List, which is implemented in PCIe device BAR memory, to discover feature devices and their sub-features and create platform device for them under the container device.
- Supports SR-IOV.
- Introduces the feature device infrastructure, which abstracts operations for sub-features and exposes common functions to feature device drivers.