[dpdk-dev] [RFC 0/5] Intel FPGA BUS

Rosen Xu rosen.xu at intel.com
Fri Mar 9 16:38:59 CET 2018


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 (5):
  Add Intel FPGA BUS Command Parse Code
  Add Intel FPGA BUS Probe Code
  Add Intel FPGA BUS Lib Code
  Add Intel FPGA BUS Rawdev Code
  Add Intel OPAE Share Code

 drivers/bus/ifpga/Makefile                         |   64 +
 drivers/bus/ifpga/ifpga_bus.c                      |  573 +++++++
 drivers/bus/ifpga/ifpga_common.c                   |  154 ++
 drivers/bus/ifpga/ifpga_common.h                   |   25 +
 drivers/bus/ifpga/ifpga_logs.h                     |   32 +
 drivers/bus/ifpga/rte_bus_ifpga.h                  |  141 ++
 drivers/bus/ifpga/rte_bus_ifpga_version.map        |    8 +
 drivers/raw/ifpga_rawdev/Makefile                  |   63 +
 drivers/raw/ifpga_rawdev/base/Makefile             |   54 +
 drivers/raw/ifpga_rawdev/base/ifpga_api.c          |  420 +++++
 drivers/raw/ifpga_rawdev/base/ifpga_api.h          |   78 +
 drivers/raw/ifpga_rawdev/base/ifpga_compat.h       |   85 +
 drivers/raw/ifpga_rawdev/base/ifpga_defines.h      | 1699 ++++++++++++++++++++
 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c    |  808 ++++++++++
 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.h    |   39 +
 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.c  |  305 ++++
 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h  |  197 +++
 drivers/raw/ifpga_rawdev/base/ifpga_fme.c          |  731 +++++++++
 drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c    |  297 ++++
 drivers/raw/ifpga_rawdev/base/ifpga_fme_error.c    |  399 +++++
 drivers/raw/ifpga_rawdev/base/ifpga_fme_iperf.c    |  711 ++++++++
 drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c       |  364 +++++
 drivers/raw/ifpga_rawdev/base/ifpga_hw.h           |  145 ++
 drivers/raw/ifpga_rawdev/base/ifpga_port.c         |  699 ++++++++
 drivers/raw/ifpga_rawdev/base/ifpga_port_error.c   |  112 ++
 drivers/raw/ifpga_rawdev/base/opae_debug.c         |   95 ++
 drivers/raw/ifpga_rawdev/base/opae_debug.h         |   15 +
 drivers/raw/ifpga_rawdev/base/opae_hw_api.c        |  355 ++++
 drivers/raw/ifpga_rawdev/base/opae_hw_api.h        |  235 +++
 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.c  |  120 ++
 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.h  |  253 +++
 drivers/raw/ifpga_rawdev/base/opae_osdep.h         |   87 +
 .../ifpga_rawdev/base/osdep_raw/osdep_generic.h    |   69 +
 .../ifpga_rawdev/base/osdep_rte/osdep_generic.h    |   41 +
 drivers/raw/ifpga_rawdev/ifpga_rawdev.c            |  472 ++++++
 drivers/raw/ifpga_rawdev/ifpga_rawdev.h            |   38 +
 drivers/raw/ifpga_rawdev/ifpga_rawdev_example.c    |   99 ++
 .../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 +
 41 files changed, 10108 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/base/Makefile
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_api.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_api.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_compat.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_defines.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_error.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_iperf.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_hw.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_port.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_port_error.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_debug.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_debug.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_hw_api.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_hw_api.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.c
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/opae_osdep.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/osdep_raw/osdep_generic.h
 create mode 100644 drivers/raw/ifpga_rawdev/base/osdep_rte/osdep_generic.h
 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



More information about the dev mailing list