From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0085.outbound.protection.outlook.com [157.55.234.85]) by dpdk.org (Postfix) with ESMTP id 9E1B42A9 for ; Mon, 8 Dec 2014 10:01:36 +0100 (CET) Received: from AMSPR02CA0032.eurprd02.prod.outlook.com (10.242.225.160) by AM3PR02MB0583.eurprd02.prod.outlook.com (10.242.253.141) with Microsoft SMTP Server (TLS) id 15.1.31.17; Mon, 8 Dec 2014 09:00:14 +0000 Received: from DB3FFO11FD034.protection.gbl (2a01:111:f400:7e04::164) by AMSPR02CA0032.outlook.office365.com (2a01:111:e400:8028::32) with Microsoft SMTP Server (TLS) id 15.1.31.17 via Frontend Transport; Mon, 8 Dec 2014 09:00:14 +0000 Received: from bjgfarm-1.internal.tilera.com (124.207.145.166) by DB3FFO11FD034.mail.protection.outlook.com (10.47.217.65) with Microsoft SMTP Server (TLS) id 15.1.26.17 via Frontend Transport; Mon, 8 Dec 2014 09:00:13 +0000 Received: (from zlu@localhost) by bjgfarm-1.internal.tilera.com (8.14.4/8.14.4/Submit) id sB8908ns025227; Mon, 8 Dec 2014 17:00:08 +0800 From: Zhigang Lu To: Date: Mon, 8 Dec 2014 16:59:23 +0800 Message-ID: <1418029178-25162-1-git-send-email-zlu@ezchip.com> X-Mailer: git-send-email 2.1.2 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:124.207.145.166; CTRY:CN; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(105606002)(106466001)(4396001)(2351001)(229853001)(107046002)(50466002)(31966008)(19580395003)(42186005)(87936001)(6806004)(48376002)(84676001)(86362001)(92566001)(50986999)(36756003)(99396003)(120916001)(77156002)(62966003)(104016003)(46102003)(33646002)(47776003)(97736003)(21056001)(20776003)(64706001)(89996001)(50226001)(110136001)(68736005)(9376004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR02MB0583; H:bjgfarm-1.internal.tilera.com; FPR:; SPF:Fail; MLV:nov; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB0583; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(602002); SRVR:AM3PR02MB0583; X-Forefront-PRVS: 041963B986 Received-SPF: Fail (protection.outlook.com: domain of ezchip.com does not designate 124.207.145.166 as permitted sender) receiver=protection.outlook.com; client-ip=124.207.145.166; helo=bjgfarm-1.internal.tilera.com; Authentication-Results: spf=fail (sender IP is 124.207.145.166) smtp.mailfrom=zlu@ezchip.com; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB0583; X-OriginatorOrg: ezchip.com X-Mailman-Approved-At: Mon, 08 Dec 2014 10:20:50 +0100 Subject: [dpdk-dev] [PATCH 00/15] Patches for DPDK to support tile architecture X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2014 09:01:36 -0000 This patch set adds default configuration, compiling related rte.vars.mk files for tile, and architecture-specific operations for EAL. TileGx processor, as a SOC, contains a on-chip networking engine named mPIPE( multicore Programmable Intelligent Packet Engine). This patch set also adds poll mode driver for the mPIPE device. And to improve the performance of memory allocation, mPIPE's buffer stack is used as the mempool provider. Zhigang Lu (15): mk: introduce Tilera Tile architecture eal/tile: add atomic operations for TileGx eal/tile: add byte order operations for TileGx eal/tile: add spinlock operations for TileGx eal/tile: add prefetch operations for TileGx eal/tile: add memcpy operations for TileGx eal/tile: add CPU flags operations for TileGx eal/tile: add cycle operations for TileGx eal: split vector operations to architecture specific eal/tile: add vector operations for TileGx eal/tile: add EAL support for global mPIPE initialization eal/tile: add mPIPE buffer stack mempool provider pmd/tile: add mPIPE poll mode driver for TileGx app/test: turn off cpu flag checks for tile architecture eal: allow empty set of compile time cpuflags app/test-pmd/mempool_anon.c | 2 +- app/test/Makefile | 6 +- app/test/test_cpuflags.c | 2 +- app/test/test_mempool_tile.c | 217 ++++ config/defconfig_tile-tilegx-linuxapp-gcc | 78 ++ lib/Makefile | 6 + lib/librte_eal/common/Makefile | 3 +- lib/librte_eal/common/eal_common_cpuflags.c | 4 +- .../common/include/arch/ppc_64/rte_common_vect.h | 73 ++ .../common/include/arch/tile/rte_atomic.h | 62 + .../common/include/arch/tile/rte_byteorder.h | 70 + .../common/include/arch/tile/rte_common_vect.h | 49 + .../common/include/arch/tile/rte_cpuflags.h | 69 + .../common/include/arch/tile/rte_cycles.h | 64 + .../common/include/arch/tile/rte_memcpy.h | 97 ++ .../common/include/arch/tile/rte_mpipe.h | 67 + .../common/include/arch/tile/rte_prefetch.h | 62 + .../common/include/arch/tile/rte_spinlock.h | 47 + .../common/include/arch/x86/rte_common_vect.h | 81 ++ .../common/include/generic/rte_common_vect.h | 51 + lib/librte_eal/common/include/rte_common_vect.h | 93 -- lib/librte_eal/linuxapp/eal/Makefile | 7 + lib/librte_eal/linuxapp/eal/eal.c | 9 + lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c | 147 +++ lib/librte_mempool_tile/Makefile | 48 + lib/librte_mempool_tile/rte_mempool.c | 381 ++++++ lib/librte_mempool_tile/rte_mempool.h | 634 +++++++++ lib/librte_pmd_mpipe/Makefile | 24 + lib/librte_pmd_mpipe/pmd_mpipe.c | 1343 ++++++++++++++++++++ mk/arch/tile/rte.vars.mk | 59 + mk/machine/tilegx/rte.vars.mk | 58 + mk/rte.app.mk | 8 + 32 files changed, 3822 insertions(+), 99 deletions(-) create mode 100644 app/test/test_mempool_tile.c create mode 100644 config/defconfig_tile-tilegx-linuxapp-gcc create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_common_vect.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_atomic.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_byteorder.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_common_vect.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_cpuflags.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_cycles.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_memcpy.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_mpipe.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_prefetch.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_spinlock.h create mode 100644 lib/librte_eal/common/include/arch/x86/rte_common_vect.h create mode 100644 lib/librte_eal/common/include/generic/rte_common_vect.h delete mode 100644 lib/librte_eal/common/include/rte_common_vect.h create mode 100644 lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c create mode 100644 lib/librte_mempool_tile/Makefile create mode 100644 lib/librte_mempool_tile/rte_mempool.c create mode 100644 lib/librte_mempool_tile/rte_mempool.h create mode 100644 lib/librte_pmd_mpipe/Makefile create mode 100644 lib/librte_pmd_mpipe/pmd_mpipe.c create mode 100644 mk/arch/tile/rte.vars.mk create mode 100644 mk/machine/tilegx/rte.vars.mk -- 2.1.2