From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,URIBL_SBL,URIBL_SBL_A,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9099DC06513 for ; Thu, 4 Jul 2019 12:30:19 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id CDAE320673 for ; Thu, 4 Jul 2019 12:30:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=monjalon.net header.i=@monjalon.net header.b="hKuN/RG8"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="trmig5Au" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CDAE320673 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=monjalon.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C1D471BE20; Thu, 4 Jul 2019 14:30:17 +0200 (CEST) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 67AF81BE1D for ; Thu, 4 Jul 2019 14:30:16 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A657C21FED; Thu, 4 Jul 2019 08:30:14 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 04 Jul 2019 08:30:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=mesmtp; bh=KExNhsFBxb rTrGo45iljyk4FW39x72hR2a60whFF2vw=; b=hKuN/RG8+970/XZi7rQwcdQ7X+ 8tsKhBa7ABHRqmh4fA+Jh4erj3qUHFUVYiKosSBme6Kvy99nqkYarHsP24fe9rqe C7cIEvyBTAeZVaiG22pf53CfaxIT56N57Dc4mIazxigJooR0vd2xlXpmXEJMPeOf s4WpjfVShwbi4e7Yo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=KExNhsFBxbrTrGo45iljyk4FW39x72hR2a60whFF2vw=; b=trmig5Au TMi2YLFGjTZEalhFS52WnXQu5sgaHFA0wvux7Rn4Gooad9y5pgcZAAGXlWykYwHl 4XD856pR5np4ajc32SQGLEfk1xbv7F0jTJD4qsL7h17CQRDo88VYHjg2exsk/vLq Nl7TB53KEMf4rZepZACZakDIdXbQUe8lcn0QoLnoBpkweAvLceAahQZckkwd6QVR sLsmGb+o9RilGu7pNCnEcPmhtTOneDZv4vgECSOEpTIuSmf92o9vD+1v4NY5fV1l 9vthmg6Aw0vqR+/WpsEsmZSfky1unkfMFN01+I/W9kfZltPFuziajr186P8s/YQF /F/Z0dCUQM79xQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrfedvgdehhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffojghfggfgsedtkeertd ertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehm ohhnjhgrlhhonhdrnhgvtheqnecukfhppeejjedrudefgedrvddtfedrudekgeenucfrrg hrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthenucev lhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id D5D8E38008C for ; Thu, 4 Jul 2019 08:30:13 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Date: Thu, 4 Jul 2019 14:29:55 +0200 Message-Id: <20190704122959.18919-1-thomas@monjalon.net> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190628025346.31312-1-xiaoyun.li@intel.com> References: <20190628025346.31312-1-xiaoyun.li@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v11 0/4] 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. 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