[dpdk-dev] [PATCH v11 0/4] rawdev driver for ntb
Thomas Monjalon
thomas at monjalon.net
Thu Jul 4 14:29:55 CEST 2019
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.
v11 (Thomas):
* rebased on top of IOAT driver
* squashed commit for binding script
* renamed ntb_rawdev to ntb as agreed with Bruce
Please review this version, I may have done mistakes.
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 (4):
raw/ntb: introduce NTB raw device driver
raw/ntb: support Intel NTB
raw/ntb: add handshake process
examples/ntb: add example for NTB
MAINTAINERS | 8 +
config/common_base | 5 +
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rawdevs/ntb.rst | 52 ++
doc/guides/rel_notes/release_19_08.rst | 6 +
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/Makefile | 28 +
drivers/raw/ntb/meson.build | 8 +
drivers/raw/ntb/ntb.c | 839 ++++++++++++++++++++++++
drivers/raw/ntb/ntb.h | 164 +++++
drivers/raw/ntb/ntb_hw_intel.c | 369 +++++++++++
drivers/raw/ntb/ntb_hw_intel.h | 86 +++
drivers/raw/ntb/rte_pmd_ntb_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 | 4 +-
23 files changed, 2087 insertions(+), 3 deletions(-)
create mode 100644 doc/guides/rawdevs/ntb.rst
create mode 100644 doc/guides/sample_app_ug/ntb.rst
create mode 100644 drivers/raw/ntb/Makefile
create mode 100644 drivers/raw/ntb/meson.build
create mode 100644 drivers/raw/ntb/ntb.c
create mode 100644 drivers/raw/ntb/ntb.h
create mode 100644 drivers/raw/ntb/ntb_hw_intel.c
create mode 100644 drivers/raw/ntb/ntb_hw_intel.h
create mode 100644 drivers/raw/ntb/rte_pmd_ntb_version.map
create mode 100644 examples/ntb/Makefile
create mode 100644 examples/ntb/meson.build
create mode 100644 examples/ntb/ntb_fwd.c
--
2.21.0
More information about the dev
mailing list