From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 01D74A046B
	for <public@inbox.dpdk.org>; Fri, 28 Jun 2019 04:54:46 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 762D62C60;
	Fri, 28 Jun 2019 04:54:46 +0200 (CEST)
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by dpdk.org (Postfix) with ESMTP id 4B0982956
 for <dev@dpdk.org>; Fri, 28 Jun 2019 04:54:44 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 27 Jun 2019 19:54:43 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.63,426,1557212400"; d="scan'208";a="183590567"
Received: from dpdk-xiaoyun3.sh.intel.com ([10.67.119.190])
 by fmsmga001.fm.intel.com with ESMTP; 27 Jun 2019 19:54:41 -0700
From: Xiaoyun Li <xiaoyun.li@intel.com>
To: jingjing.wu@intel.com, keith.wiles@intel.com, cunming.liang@intel.com,
 omkar.maslekar@intel.com
Cc: dev@dpdk.org,
	Xiaoyun Li <xiaoyun.li@intel.com>
Date: Fri, 28 Jun 2019 10:53:40 +0800
Message-Id: <20190628025346.31312-1-xiaoyun.li@intel.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20190626071224.4819-1-xiaoyun.li@intel.com>
References: <20190626071224.4819-1-xiaoyun.li@intel.com>
Subject: [dpdk-dev] [PATCH v9 0/6] rawdev driver for ntb
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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.

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 (6):
  raw/ntb: introduce ntb rawdev driver
  raw/ntb: add intel ntb support
  raw/ntb: add handshake process
  examples/ntb: enable an example for ntb
  usertools/dpdk-devbind.py: add support for ntb
  doc: update docs for ntb driver

 MAINTAINERS                                   |   9 +
 config/common_base                            |   5 +
 doc/guides/rawdevs/index.rst                  |   1 +
 doc/guides/rawdevs/ntb_rawdev.rst             |  41 +
 doc/guides/rel_notes/release_19_08.rst        |  15 +
 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, 2092 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

-- 
2.17.1