From patchwork Fri Nov 6 09:40:24 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8755 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 08A5F8E7B; Fri, 6 Nov 2015 10:41:37 +0100 (CET) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0063.outbound.protection.outlook.com [65.55.169.63]) by dpdk.org (Postfix) with ESMTP id 0E6B59190 for ; Fri, 6 Nov 2015 10:41:36 +0100 (CET) Received: from BLUPR0701MB1969.namprd07.prod.outlook.com (10.163.121.20) by BLUPR0701MB1587.namprd07.prod.outlook.com (10.163.84.149) with Microsoft SMTP Server (TLS) id 15.1.312.18; Fri, 6 Nov 2015 09:41:35 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from jerin.caveonetworks.com (111.93.218.67) by BLUPR0701MB1969.namprd07.prod.outlook.com (10.163.121.20) with Microsoft SMTP Server (TLS) id 15.1.318.15; Fri, 6 Nov 2015 09:41:32 +0000 From: Jerin Jacob To: Date: Fri, 6 Nov 2015 15:10:24 +0530 Message-ID: <1446802833-22265-6-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1446802833-22265-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446802833-22265-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0066.INDPRD01.PROD.OUTLOOK.COM (25.164.116.166) To BLUPR0701MB1969.namprd07.prod.outlook.com (25.163.121.20) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 2:ge7Rm7qDL/OAivWQlWtF5BNfZU2wBIZanP6c7ztiW5UC4Un2+DmeIqucLRXVLWbWVp5cjJ9bc5YLjLuqQ+uAA+gORqb4vKqFa6tkuT91LqW1xZFG5bZfI5OCbSbKhib266hLuHMhIqWa2c1H+4x/gCUuXREXvaImwRFWgBkEtMw=; 3:tMUHtycetH27CP4Ta36/PajNLcvpKzvDZ1zXMTAPhoybquKGQdAT36cZlpgpJzBo/ZzEmTKpqoEBr4y5IfeGiOX+gLJy3OoX2uH7Kecl0q8D9HdYd8zpECqXgiLY/QyUKq+1B7PQQNPijhUEd0IbBA==; 25:b+mpc3JZCzbxVBR/QHxXStT7Aa16qDMYDs9fSyY9ypfPYRPKa2EkBW5yUh6mEmmaKe8V26HhFUuQwWVkro2JExpogC9qSugwcL/bkcyiw/dbLtkk90qPfynkDB3Juu66hRChb1s5GxUmjDZ+gGULX5RrlPoOeXjgTOjsaZV31buFDU6lMOYHdBLi/px28adM8wrcswMqoXBs516BHgTIE9tnQ6kHwGMOOZbWiSB+AXviNZITDKxFRF+8Y+BfJV+wkxorkqqN7OgZe6yuI+6uoQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 20:Q+hBJKIqNqSRa+QKL6hNFrG+uTOruYnfUila6lzPNZLzoACyS6MifgBpkCAxcGlLKYS5mtMFYZHix35+P8nwNoPDT1d3cLvRRe4bJcdglk8TE3dSM881Unt3HHlnkxNhUtZ1UbrF4JdJvZ4x6oauzmXJgHkPIELkIq/LKqwK7CV4b6vZG7+jzq7TmNXJPTWOJALhA/QU5q94pYVQsI5jgtBpVtxBhyCSuxxSILOn++qijAERh/VoqclrkbEh6nN9cmJJjUP5uQSWBNwyYJD7TFAEOWES++F7q6LZyVQ16KSBPVR+j1wZ84CaGDgThqxtqAj1CIxqEzRPh77RjUx0JT9ZzAEaKzYLDR8iiB7SwflTgZtHNi/yIHalKUe4LhFthQKlFnKA98UfZ2HRG70CJa29oMPWD4w6L+kMFZqf8CACW0XZ36HDTlXlTcG7FVOSJGMVeIUzdEOgWIi9kDQ1NeFz8UGvFtTejmbx+7uvTkjLYUjFO4gcAsldkv76xUYQ2vdrCxFgew0N29qg9GNDb3eeqfXBoSJKb1v8Gq+oFq0T6Xp0VXAAhE+1X8jXLvWV1MCkraislrXp5/dXEu1dTl1bK2g8B3jBuWx6V3yaJ74= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046); SRVR:BLUPR0701MB1969; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 4:CkEODe3K8pb813HsK8xpnEB9F26NE4VVz2Tfslr7m8CDCIpMhjecOye97luleOUUsKLCYMgzqrfzvVmslDNpnTDIHQIlIEyDT5caPW9RQVaRXngpEHQqPRaO5CWIWnbu6+Bg2+3ppaO2VjkNj/3A+U0IqpdLfo3Ehkf82qBEn7JqFl/AizXGQnSdWAauqrOM9/JU5oQJUIHOZc8MjbMF+5MbR7FgCKkQVBdv0sqVdh6ziYn8+f43Ay5zN3FsKZ2kI0Bmfc2wWq1pIauSd08iLDus22steZiE+NOvmMmsogaOISydo/ty1YH1Wp1ER8O6v+UttmHOnuVgIqkp8y6fyHHNiDiq1WZRjtquIH3Jh7b+oeAQFwJF8jvuFJ1hoQmW X-Forefront-PRVS: 07521929C1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(50226001)(122386002)(48376002)(50986999)(50466002)(106356001)(229853001)(110136002)(19580405001)(40100003)(76176999)(87976001)(105586002)(5004730100002)(77096005)(19580395003)(2351001)(5003940100001)(92566002)(107886002)(189998001)(5007970100001)(33646002)(5001960100002)(66066001)(5009440100003)(42186005)(2950100001)(4001430100002)(97736004)(101416001)(69596002)(47776003)(36756003)(5008740100001)(53416004)(81156007)(86362001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1969; H:jerin.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1969; 23:eEwynGmPfNtZiyXEvTIUPkSxXaaKUWmy1+MzTMb?= =?us-ascii?Q?05k0lKrHa+gk+47qx37nUASJ8nzskVayfGSIA8G0Jf+kTVNCT7cRWzYPdFyF?= =?us-ascii?Q?uECygRND73yXXnjKsR65o5BfZM6/AyWLyrgUv5duTlIeXHRTA80CnRLSaDRq?= =?us-ascii?Q?jte8MzNJShGTtP7roTo4kcf/NC1zW1I7OKEMtul4Ix7jN4rT/AscY8/jg6If?= =?us-ascii?Q?R/9O/ph6n3/O3jsnxuOdvhpGF1POdaoZcGevKygH2KuoeXR5XMiLg70DcIVY?= =?us-ascii?Q?RUo1I5OFLHxvTMYA7okCQoNvNcRabfEn+FtxGHAOJQtFyETiLrOCueafY4PN?= =?us-ascii?Q?/o5tVOxNCUadHtiucim6o7y4d2Iy/gao0qvHhQGJEJ5x85KhGxb9PS9agxGO?= =?us-ascii?Q?8g27LBdPEH2/t59T76IDbvZ+aJXXk4qhLwX53SqsE0u0EJ1fvXTqqmbyT/g4?= =?us-ascii?Q?ONbf+UmVRo6/5xbqLB9bHLQhIQSeAP2XeWvwDaw6yLu2uefzrSbIjF0t+xQ1?= =?us-ascii?Q?h4n/YjCO6bMZhe9JueGfsqDUE9RWGkBYffz/H1IP6WKCpYegsu2AuSv/DDG0?= =?us-ascii?Q?6LNsZYN6uwx4a5m0FXIWraIt6Yt8WSrEmvT8A0bhUxxgPREKTFtm83wvcFxm?= =?us-ascii?Q?ZThg8fkcHihdCuve7USEEFYsWb7SyD8VRKJuukuVH/2cXnsIKHHMV6zUibIa?= =?us-ascii?Q?FwSzuQ1LRez7zjxPHgL5ZRJPvxdOMV1orxnv6NT3UlydkFKAFZdv8waFKfQL?= =?us-ascii?Q?Yvn/E+tPCfSQ9blMGqYPmXhl51QPQaDI92qV3qQgT4cFPcTQPvW899pOWgNn?= =?us-ascii?Q?fMJ9XC9brVb/5BBPreweyy0XQUxNR3ZgL/rZvQz8oL6BIbULjMSux9V6Iqww?= =?us-ascii?Q?oa5+6nNu2JL+TxiVh7WaVJJy1EMUWUFgDw3QncLPr81rUZMrZNNsh44p4RXw?= =?us-ascii?Q?GEAUL12V8YTihembzEh3G85Lc3HQp81qAMM2aey6G0MpRjRURuLjbyxFaaUT?= =?us-ascii?Q?UytLhouvhs3gsy4teuefaAXtDe8iw884s+y2rALCSKGSi2nru0xPJmZe2ySp?= =?us-ascii?Q?Yv5IFAXXQguXIlJ9LJ/ufTc7kXZiIWqoAg5YeNqlKV+KwyXxDJ1S/UXTkgwJ?= =?us-ascii?Q?ueLgtIxz4wtZyBTeGklh2q2ourTpSyoE6?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 5:d3WYM70ed/AXTYk9ArkcGhWzLxmJw+9c+4vvMrVW3i/2tGaAIvmtOKCAcXn3vsurubZIqenM8sytSAyTZyjXkx8ZuR1aHFrqIlxNizzfZ+5y1gGhTxjfsENQ2YIdy1jfLQWSP5Q/Jikc66bGUgBeGw==; 24:intSGRvT60yIgev3MaMgb+XmLqns+RuXKR4lsfk2Y6ChzIMcdCFtaBWqmbcgCYpQATvWDd0fSSjy98k2Hdzp6tv76AxpD3P3cWrhjEmItsA=; 20:L2KuRO0aJGOYXgMqhT32IQjRr9fay3nXJ/pps0FtafaH8przrXUpLVrGYSGUiykk/fkaz0UOnjm99o5zCFhf+Q== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2015 09:41:32.5225 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1969 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1587; 2:p9eKy85Ec3ngBycvT11hZdB37McPWLUb9MbEjM0U8PE/u/MzJ+obbagndv2frXSbohGImuB9MGObA0DOJHZTzWM4fwkLPZn/evs96sJ5GXwuAWEGAwlg9qoTPMLSanwp7ZVdyjVKUVX7z12hqU/IzMfdK/Z16j8MUWZIoH1eqew=; 23:1ACANuCF+i+siGWG1J4IKtvWctLQDiwEjqRCtC0/mfqC1RZJzrqNO4zgDtjOOniVW11nkOraadvFzyEKdj83T20VNf/jytFPhI5d+WuzJIDxn2NGCi6YZbrlwID47XXzD/JvFEjOrE1erq5yNbCGX3fB4BukI7XIJR4FtHI8kHUf5TeaxzdQN+OaZF4bVCk7 X-OriginatorOrg: caviumnetworks.com Subject: [dpdk-dev] [PATCH v3 05/14] eal: arm64: rte_memcpy_64.h version based on libc memcpy 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Jerin Jacob --- .../common/include/arch/arm/rte_memcpy.h | 4 + .../common/include/arch/arm/rte_memcpy_64.h | 93 ++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy.h b/lib/librte_eal/common/include/arch/arm/rte_memcpy.h index d9f5bf1..1d562c3 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_memcpy.h +++ b/lib/librte_eal/common/include/arch/arm/rte_memcpy.h @@ -33,6 +33,10 @@ #ifndef _RTE_MEMCPY_ARM_H_ #define _RTE_MEMCPY_ARM_H_ +#ifdef RTE_ARCH_64 +#include +#else #include +#endif #endif /* _RTE_MEMCPY_ARM_H_ */ diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h b/lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h new file mode 100644 index 0000000..917cdc1 --- /dev/null +++ b/lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h @@ -0,0 +1,93 @@ +/* + * BSD LICENSE + * + * Copyright (C) Cavium networks Ltd. 2015. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Cavium networks nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _RTE_MEMCPY_ARM64_H_ +#define _RTE_MEMCPY_ARM64_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#include "generic/rte_memcpy.h" + +static inline void +rte_mov16(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 16); +} + +static inline void +rte_mov32(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 32); +} + +static inline void +rte_mov48(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 48); +} + +static inline void +rte_mov64(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 64); +} + +static inline void +rte_mov128(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 128); +} + +static inline void +rte_mov256(uint8_t *dst, const uint8_t *src) +{ + memcpy(dst, src, 256); +} + +#define rte_memcpy(d, s, n) memcpy((d), (s), (n)) + +static inline void * +rte_memcpy_func(void *dst, const void *src, size_t n) +{ + return memcpy(dst, src, n); +} + +#ifdef __cplusplus +} +#endif + +#endif /* _RTE_MEMCPY_ARM_64_H_ */