From patchwork Mon Feb 22 03:15:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Huang X-Patchwork-Id: 88070 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 7EB84A034F; Mon, 22 Feb 2021 04:15:46 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 33AEE22A2F1; Mon, 22 Feb 2021 04:15:46 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id B3E3B4069C; Mon, 22 Feb 2021 04:15:43 +0100 (CET) IronPort-SDR: nQOBrfWXFlrYAopWgRXBWGOYS7oS9YQe3LXUgECm+FpKvJpm+TTAPxkABZRPiv7BMwpiBZM6Dn E9CecDG8/fTg== X-IronPort-AV: E=McAfee;i="6000,8403,9902"; a="203705883" X-IronPort-AV: E=Sophos;i="5.81,195,1610438400"; d="scan'208";a="203705883" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2021 19:15:42 -0800 IronPort-SDR: SzII92UE2l/w8GYsWsOCFDc6MOCU0i/QYHttTPef2S+urIoXlb0NfABZ90rEYl0TEaroh8XaMd lm5OOjQioK4A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,195,1610438400"; d="scan'208";a="363813991" Received: from unknown (HELO sh_lab5_1.sh.intel.com) ([10.238.175.190]) by orsmga003.jf.intel.com with ESMTP; 21 Feb 2021 19:15:40 -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: Sun, 21 Feb 2021 22:15:43 -0500 Message-Id: <1613963747-30047-1-git-send-email-wei.huang@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1612921738-26208-1-git-send-email-wei.huang@intel.com> References: <1612921738-26208-1-git-send-email-wei.huang@intel.com> Subject: [dpdk-dev] [PATCH v14 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 v13: - fix compilation issue of unused const variable 'kdrv' 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 | 1630 ++++++++++++++++++++ examples/ifpga/opae_api.h | 244 +++ examples/meson.build | 2 +- 33 files changed, 5909 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