With Partial Reconfigure(PR) parts of Bitstream, Field Programmable Gate Array(FPGA) not only provides one kinds of accelerator but also provides many types of accelerators at the same time.
How DPDK fully support FPGA? - We use Rawdev to provide FPGA PR - DPDK Driver will not bind to PCI Device it will bind to FPGA Partial-Bitstream(AFU,Accelerated Function Unit) - For the new Device scan, driver probe, we involve Intel FPGA Bus Module This patchset is base on v18.02. Rosen Xu (4): drivers/bus/ifpga:Intel FPGA Bus Lib Code lib/librte_eal/common:Add Intel FPGA Bus Running Command Parse Code lib/librte_eal/common: Add Intel FPGA Bus Second Scan, it should be scanned after PCI Bus drivers/raw/ifpga_rawdev: Rawdev for Intel FPGA Device, it's a PCI Driver of FPGA Device Manager drivers/bus/ifpga/Makefile | 64 +++ drivers/bus/ifpga/ifpga_bus.c | 527 +++++++++++++++++++++ drivers/bus/ifpga/ifpga_common.c | 168 +++++++ drivers/bus/ifpga/ifpga_common.h | 46 ++ drivers/bus/ifpga/ifpga_logs.h | 59 +++ drivers/bus/ifpga/rte_bus_ifpga.h | 153 ++++++ drivers/bus/ifpga/rte_bus_ifpga_version.map | 8 + drivers/raw/ifpga_rawdev/Makefile | 59 +++ drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 343 ++++++++++++++ drivers/raw/ifpga_rawdev/ifpga_rawdev.h | 109 +++++ drivers/raw/ifpga_rawdev/ifpga_rawdev_example.c | 121 +++++ .../ifpga_rawdev/rte_pmd_ifpga_rawdev_version.map | 4 + lib/librte_eal/common/eal_common_bus.c | 14 +- lib/librte_eal/common/eal_common_options.c | 8 +- lib/librte_eal/common/eal_options.h | 2 + 15 files changed, 1683 insertions(+), 2 deletions(-) create mode 100644 drivers/bus/ifpga/Makefile create mode 100644 drivers/bus/ifpga/ifpga_bus.c create mode 100644 drivers/bus/ifpga/ifpga_common.c create mode 100644 drivers/bus/ifpga/ifpga_common.h create mode 100644 drivers/bus/ifpga/ifpga_logs.h create mode 100644 drivers/bus/ifpga/rte_bus_ifpga.h create mode 100644 drivers/bus/ifpga/rte_bus_ifpga_version.map create mode 100644 drivers/raw/ifpga_rawdev/Makefile create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.c create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.h create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev_example.c create mode 100644 drivers/raw/ifpga_rawdev/rte_pmd_ifpga_rawdev_version.map -- 1.8.3.1