From patchwork Tue Jul 2 06:17:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Li, Xiaoyun" X-Patchwork-Id: 55839 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D584B58C6; Tue, 2 Jul 2019 08:18:50 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id E5F584C8F for ; Tue, 2 Jul 2019 08:18:49 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jul 2019 23:18:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,442,1557212400"; d="scan'208";a="315119448" Received: from dpdk-xiaoyun3.sh.intel.com ([10.67.119.190]) by orsmga004.jf.intel.com with ESMTP; 01 Jul 2019 23:18:47 -0700 From: Xiaoyun Li To: jingjing.wu@intel.com, keith.wiles@intel.com, cunming.liang@intel.com, omkar.maslekar@intel.com Cc: dev@dpdk.org, Xiaoyun Li Date: Tue, 2 Jul 2019 14:17:31 +0800 Message-Id: <20190702061736.91370-1-xiaoyun.li@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190628025346.31312-1-xiaoyun.li@intel.com> References: <20190628025346.31312-1-xiaoyun.li@intel.com> Subject: [dpdk-dev] [PATCH v10 0/5] rawdev driver for ntb X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" This patch set adds support for Intel NTB device with Skylake platform. It is a raw device for allowing two hosts to communicate with each other and access the peer memory. This patch set also provides a simple example to transmit a file between two hosts. But since there is no FIFO here, only support file which is no more than 4M. And will add FIFO in the future. series Acked-by: Jingjing Wu v10: * Updated and refined the release notes in the same patch as the code. v9: * Fixed a typo. * Added default case for PPD parse. v8: * Fixed a coding style issue. * Rebased codes to the newest master branch. v7: * Fixed a typo. * Generic spad registers to be spad_user and the specific spad is * defined by the specific hw. * Refined the codes by replacing with lib functions such as rte_read32. * Rebased the codes to the newest dpdk-next-net-intel branch. v6: * Fixed a typo. v5: * Actual v4. v4 patchset is the same as v3. v4: * Fix compile issues of comparison of array with null pointer. v3: * Fixed compilation issues with target i686. * Renamed communication devices to misc devices in usertool. * Rebased to the newest dpdk-next-net-intel branch. v2: * Replaced ! with NULL check for pointers. * Added ntb_ops valid check before use it. * Replaced RTE_MEMZONE_1GB with RTE_MEMZONE_IOVA_CONTIG in case users do not use 1G hugepage. * Added a timeout for dev_stop handshake in case that the peer stopped abnormally such as crashed while debugging. * Updated docs especailly about how to setup BIOS for skylake. * Fixed not return issue and not free issue in example. * Renamed ntb_devices to communication_devices to be more generic in usertools. * Polish the codes and docs. Xiaoyun Li (5): raw/ntb: introduce ntb rawdev driver usertools/dpdk-devbind.py: add support for ntb raw/ntb: add intel ntb support raw/ntb: add handshake process examples/ntb: enable an example for ntb MAINTAINERS | 9 + config/common_base | 5 + doc/guides/rawdevs/index.rst | 1 + doc/guides/rawdevs/ntb_rawdev.rst | 52 ++ doc/guides/rel_notes/release_19_08.rst | 5 + doc/guides/sample_app_ug/index.rst | 1 + doc/guides/sample_app_ug/ntb.rst | 47 + drivers/raw/Makefile | 1 + drivers/raw/meson.build | 2 +- drivers/raw/ntb_rawdev/Makefile | 28 + drivers/raw/ntb_rawdev/meson.build | 8 + drivers/raw/ntb_rawdev/ntb_hw_intel.c | 369 ++++++++ drivers/raw/ntb_rawdev/ntb_hw_intel.h | 86 ++ drivers/raw/ntb_rawdev/ntb_rawdev.c | 839 ++++++++++++++++++ drivers/raw/ntb_rawdev/ntb_rawdev.h | 164 ++++ .../ntb_rawdev/rte_pmd_ntb_rawdev_version.map | 4 + examples/Makefile | 1 + examples/meson.build | 2 +- examples/ntb/Makefile | 68 ++ examples/ntb/meson.build | 16 + examples/ntb/ntb_fwd.c | 377 ++++++++ mk/rte.app.mk | 1 + usertools/dpdk-devbind.py | 9 + 23 files changed, 2093 insertions(+), 2 deletions(-) create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst create mode 100644 doc/guides/sample_app_ug/ntb.rst create mode 100644 drivers/raw/ntb_rawdev/Makefile create mode 100644 drivers/raw/ntb_rawdev/meson.build create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.c create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.h create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.c create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.h create mode 100644 drivers/raw/ntb_rawdev/rte_pmd_ntb_rawdev_version.map create mode 100644 examples/ntb/Makefile create mode 100644 examples/ntb/meson.build create mode 100644 examples/ntb/ntb_fwd.c