From patchwork Wed Feb 10 01:48:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Huang X-Patchwork-Id: 87833 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C29E8A054F; Wed, 10 Feb 2021 02:48:56 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E06ED160679; Wed, 10 Feb 2021 02:48:55 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id A2BE740147; Wed, 10 Feb 2021 02:48:54 +0100 (CET) IronPort-SDR: j9tIY3U/GyPyeTlmDqnZCSlKmEzor5d6MwbRXigeCeJLqKC0o+Sq8/kRV67OKyQci1wVfADUAn LXCnOv+PV8AQ== X-IronPort-AV: E=McAfee;i="6000,8403,9890"; a="201091436" X-IronPort-AV: E=Sophos;i="5.81,166,1610438400"; d="scan'208";a="201091436" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 17:48:53 -0800 IronPort-SDR: uATyvXCGT2+z+nNZmcrw/8Qkd0f9v+tN6SpppjNagn3Vg0Z9nBA6VpiUvLPFNzkq6y/RhoTK9N FK5wju6yX2Eg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,166,1610438400"; d="scan'208";a="488360608" Received: from sh_lab5_1.sh.intel.com ([10.238.175.190]) by fmsmga001.fm.intel.com with ESMTP; 09 Feb 2021 17:48:51 -0800 From: Wei Huang To: dev@dpdk.org, rosen.xu@intel.com, qi.z.zhang@intel.com Cc: stable@dpdk.org, tianfei.zhang@intel.com, ferruh.yigit@intel.com, Wei Huang Date: Tue, 9 Feb 2021 20:48:54 -0500 Message-Id: <1612921738-26208-1-git-send-email-wei.huang@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH v13 0/4] raw/ifpga: add extra OPAE APIs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Cyborg is part of OpenStack, it needs some OPAE APIs to manage devices with Intel FPGA. The first three patches implement extra APIs to meet Cyborg requirement. The last patch add an example to show how to use these APIs. Main changes from v12: - implement ifpga APIs in rte_pmd_ifpga.c Wei Huang (4): raw/ifpga: add fpga rsu APIs raw/ifpga: add APIs to get fpga information raw/ifpga: add miscellaneous APIs examples/ifpga: add example for ifpga APIs MAINTAINERS | 3 + doc/api/doxy-api-index.md | 3 +- doc/guides/sample_app_ug/ifpga.rst | 387 +++++ doc/guides/sample_app_ug/index.rst | 1 + drivers/raw/ifpga/base/ifpga_api.c | 34 + drivers/raw/ifpga/base/ifpga_defines.h | 1 + drivers/raw/ifpga/base/ifpga_feature_dev.c | 21 + drivers/raw/ifpga/base/ifpga_feature_dev.h | 1 + drivers/raw/ifpga/base/ifpga_fme.c | 36 +- drivers/raw/ifpga/base/ifpga_fme_rsu.c | 428 +++++ drivers/raw/ifpga/base/ifpga_hw.h | 1 + drivers/raw/ifpga/base/ifpga_sec_mgr.c | 639 ++++++++ drivers/raw/ifpga/base/ifpga_sec_mgr.h | 93 ++ drivers/raw/ifpga/base/meson.build | 2 + drivers/raw/ifpga/base/opae_hw_api.c | 77 + drivers/raw/ifpga/base/opae_hw_api.h | 12 + drivers/raw/ifpga/base/opae_ifpga_hw_api.h | 1 + drivers/raw/ifpga/base/opae_intel_max10.c | 48 + drivers/raw/ifpga/base/opae_intel_max10.h | 44 + drivers/raw/ifpga/ifpga_rawdev.c | 30 + drivers/raw/ifpga/ifpga_rawdev.h | 7 +- drivers/raw/ifpga/meson.build | 4 +- drivers/raw/ifpga/rte_pmd_ifpga.c | 429 +++++ drivers/raw/ifpga/rte_pmd_ifpga.h | 308 ++++ drivers/raw/ifpga/version.map | 18 + examples/ifpga/Makefile | 43 + examples/ifpga/commands.c | 1294 ++++++++++++++++ examples/ifpga/commands.h | 16 + examples/ifpga/main.c | 38 + examples/ifpga/meson.build | 20 + examples/ifpga/opae_api.c | 1632 ++++++++++++++++++++ examples/ifpga/opae_api.h | 244 +++ examples/meson.build | 2 +- 33 files changed, 5911 insertions(+), 6 deletions(-) create mode 100644 doc/guides/sample_app_ug/ifpga.rst create mode 100644 drivers/raw/ifpga/base/ifpga_fme_rsu.c create mode 100644 drivers/raw/ifpga/base/ifpga_sec_mgr.c create mode 100644 drivers/raw/ifpga/base/ifpga_sec_mgr.h create mode 100644 drivers/raw/ifpga/rte_pmd_ifpga.c create mode 100644 drivers/raw/ifpga/rte_pmd_ifpga.h create mode 100644 examples/ifpga/Makefile create mode 100644 examples/ifpga/commands.c create mode 100644 examples/ifpga/commands.h create mode 100644 examples/ifpga/main.c create mode 100644 examples/ifpga/meson.build create mode 100644 examples/ifpga/opae_api.c create mode 100644 examples/ifpga/opae_api.h