From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06F13A0524; Fri, 8 Jan 2021 10:33:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5C3A2140EFC; Fri, 8 Jan 2021 10:33:14 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 668DF140E1A; Fri, 8 Jan 2021 10:33:12 +0100 (CET) IronPort-SDR: qRsHW+8oKxJtZ83HebnsNiMUSAkltiUFqhN1fRMSQuU6bWhSNDA/7+zvQSlCG1oNY+F2f34I4E /L/l4qTfWkGQ== X-IronPort-AV: E=McAfee;i="6000,8403,9857"; a="174990216" X-IronPort-AV: E=Sophos;i="5.79,330,1602572400"; d="scan'208";a="174990216" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jan 2021 01:33:11 -0800 IronPort-SDR: r2Csl3eacBuTKwDU5B5F55euUUCP9lZF4JCMThRo0o8KIYli/dRlgTS4GpUELYc5eWqq5ZskrS 3TaEVoGfL6nQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,330,1602572400"; d="scan'208";a="347307433" Received: from sh_lab5_1.sh.intel.com ([10.238.175.190]) by orsmga003.jf.intel.com with ESMTP; 08 Jan 2021 01:33:09 -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, Wei Huang Date: Fri, 8 Jan 2021 04:33:20 -0500 Message-Id: <1610098404-3687-1-git-send-email-wei.huang@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH v8 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 v7: - Add guide document for how to run ifpga example Wei Huang (4): raw/ifpga: add fpga rsu function raw/ifpga: add fpga property get function raw/ifpga: add opae API for Cyborg examples/ifpga: add example for opae ifpga API doc/guides/sample_app_ug/ifpga.rst | 433 +++++ 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 | 435 +++++ 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 | 89 + drivers/raw/ifpga/base/meson.build | 2 + drivers/raw/ifpga/base/opae_hw_api.c | 77 + drivers/raw/ifpga/base/opae_hw_api.h | 13 + 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_opae_api.c | 1800 ++++++++++++++++++++ drivers/raw/ifpga/ifpga_opae_api.h | 245 +++ drivers/raw/ifpga/ifpga_rawdev.c | 352 ++++ drivers/raw/ifpga/ifpga_rawdev.h | 50 +- drivers/raw/ifpga/meson.build | 4 +- examples/ifpga/Makefile | 45 + examples/ifpga/commands.c | 1321 ++++++++++++++ examples/ifpga/commands.h | 16 + examples/ifpga/main.c | 38 + examples/ifpga/meson.build | 19 + 26 files changed, 5761 insertions(+), 4 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/ifpga_opae_api.c create mode 100644 drivers/raw/ifpga/ifpga_opae_api.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 -- 2.29.2