From patchwork Tue Nov 3 13:09:04 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8584 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 E3CCB9208; Tue, 3 Nov 2015 14:10:13 +0100 (CET) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0082.outbound.protection.outlook.com [65.55.169.82]) by dpdk.org (Postfix) with ESMTP id 59E459205 for ; Tue, 3 Nov 2015 14:10:12 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.caveonetworks.com (111.93.218.67) by BY2PR0701MB1974.namprd07.prod.outlook.com (10.163.155.20) with Microsoft SMTP Server (TLS) id 15.1.312.18; Tue, 3 Nov 2015 13:10:09 +0000 From: Jerin Jacob To: Date: Tue, 3 Nov 2015 18:39:04 +0530 Message-ID: <1446556153-18845-4-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446556153-18845-1-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-2-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MAXPR01CA0048.INDPRD01.PROD.OUTLOOK.COM (25.164.146.148) To BY2PR0701MB1974.namprd07.prod.outlook.com (25.163.155.20) X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 2:lMOJqooLIdQOw2CM8rXBu452xH25OUpp/B4TDyJV5VkssqtNOVzpEuoKKe+kAdWAmsw0d9iy2+d+kQmjgKdUhjMX53V2BVibqWsHMY7VqUFHkQF+abIijAtMyWj34Npcsxc5FHf9aJF3wfPQ6xBRPi0SW/sEdSnE29UTZX4pFn8=; 3:WUIkhuQc8ll9IiHIOPx2Cj4dBhwNOzGPQaiSqzTA3IcR+Wmz51jVli5/xEuUPH2twd0lkg3EWucG0pzsSq2SDjSyomyvb77z7CJg4oB4lICp2bQoTSX4y0xvRvyha7Ib38/K+h//3ak163LgS3Y1Xw==; 25:+Hub6voZh2SVCoh/3RCIJDE8yIjhqbd6F/6vtJLaTskV+jNZ2nhZOB0LWE4CSJWfaSiXVZI61RpYWctRauXsYIfd02FwikAainHvTP5mk0xPw/jIA5WkDsAo4DZJyCkfzZ+XwuE0Z2Ye1TFNuveFjJuHievrCV8yotMw5SrmngaNuZE+NAsSupGGtP+u9XEObWXFPYs8eok6F7o+TvLGH4khZcUrsMV6qr3Yptl/hNAEv7N85Ohf+QldoYol1of2ZxSj0/qpwxn9QpnLhurFaw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0701MB1974; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 20:ne+bOabDRmaV/vQQUTnB30pgrKdkcCNc4vrho+hI/mkGGsqQBuZSfzsiSkVtQrj3i2E+ytDJ2bI4Nj+GXxX4AGRF8G0ltT+Q29tpcDhZFwGbFivW+sPA6HjG0PNeQHV52dmyAVtxltiVSVDrXvf0KbuyWa7ZP+sgM7ypOZ/y/kMoRlqZ7kp0PwFbcAxEfSZBsvo1w6H4lZ6linMf6/lEVRtNAZvznNn5CmZdt8c4J6CtOE2i25RmmV1x18jTnZXbA4zb5I/LIPaKJrjyHma4SVY2gMvHpf2o+Z0nWHPBWFRYRHLbwdFxMQMBDkC05geNL9rD+ileNTFKrme31+bLy2y3ck2tnI1pa9SLBuCO4fFk7TJMULi41NPQ/CEchx6lJx+Q8Aq/a3fDbxVEEyytb/8JClmr7AsSZ9DawUwcont98Ds6e7yxmTp4ltcOAO91FUnqjYFrawwKEGknZtAyB9M8p7cmPhbNfPOJZ0JvHjsMy4uRGroxiCG0FcFDNSFdbaQG+sqlh5PQHU0gBYfYVV99NDx/Q3e+ol3ZxbwpkSR1RjnI6ojyXuyLBDttTldnVIofHf44Yn8o+UaI+EjJBS6qWE3UyNNcxhuyyugENXg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001); SRVR:BY2PR0701MB1974; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0701MB1974; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 4:cDzCp5jB++5xinNpO0DkmKLGwlG02L/hlrZ98RMbwnEFJIaamTBdf0xKRWR7bjo1mfvLtOhNesEaFyjwIq5OVzFA5JfBmGKC+rzZ3W+36yAPD+SwslxolztnHLp304v9P8GLqNVyitWv527M7+6egeRLVkDxvPxVNfgeLsS7ddd9sQlZN8iq4nUvIHzkn+XPbAqN3ZpboexqbMZoq5GAh1/xuocALEYtXXat5hUsXfB/p0OdcWiug+fwXAO0w+JQxMm4IWtzi+CdILWfe7IsfntI0aZwWghGjWyGIgcDfSSTkbO587555OGVtk0EhtF6UhnIcziUGhcvXIEjbmISd7zikGPi6SpBUkI1yp6diNsWTjhHY0EaYLCgbpnuNIOu X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(189002)(199003)(81156007)(5001960100002)(50226001)(50986999)(5004730100002)(2950100001)(110136002)(77096005)(107886002)(66066001)(47776003)(189998001)(5007970100001)(42186005)(19580395003)(86362001)(76506005)(87976001)(69596002)(97736004)(50466002)(101416001)(53416004)(48376002)(106356001)(105586002)(19580405001)(36756003)(5008740100001)(76176999)(40100003)(92566002)(4001430100002)(5009440100003)(33646002)(122386002)(5003940100001)(229853001)(2351001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB1974; H:localhost.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; BY2PR0701MB1974; 23:HZcN0IEJoWo7fkdnXjlFnpP+qtpfP9FYuX852Xy?= =?us-ascii?Q?wBqK1d7JrzTRA7sdq1L5S70/IADsOX3RPI5MVFBx4BeRmrqfksNgP4BMaRH+?= =?us-ascii?Q?2JD6BDkMnw9RQxzbCHPKvir1wX57Zb7DtiMWWafeqKhnAjkspdDWnTxM+kv1?= =?us-ascii?Q?AoEVzHj3dpQePge8WSABxDpN1Xe9vC0MuwpCLqwvTG/iLJ//m9rDp1cqi3Ax?= =?us-ascii?Q?mcnQBagIIx4ucgokCP0wl3CgUVUy2o7QSvdzEJHuAe/SoU0i4YRXIDyBm6NM?= =?us-ascii?Q?n8qKxOFb9zMPmodDhVC4Tx99JlIo0iZSwnL3SLitd9tDhDL7yHlBXEU1V4Fs?= =?us-ascii?Q?GnsM/nLBFISmhJbZ11ByLMiA3hO2S2hQ7LYMRhSLhDjOi9n9N1P9sTicl9Lz?= =?us-ascii?Q?PG0yFgzLxCVLZjQd42CECyfYgaC07Sbl2qEy/3yMO8NtfqLxxx2QBnLjC2By?= =?us-ascii?Q?XXYUrSu0zmLnp4abMu5CdKi79zN/Cl3t5IbRgrPrsUEYCMWO1eaJjL8Pydnc?= =?us-ascii?Q?Q6HJs/fmAGPbxzEySmrQCItL6L4pA/F8LwT8Z9zUSjz5eza23SUR5vfsiuIn?= =?us-ascii?Q?LJFZb4VZ/5nP1WCYVcwWUVtPHPY/gR5mHiEdbSsFMRU3dauGhYkXwH7WWjc2?= =?us-ascii?Q?S+d1ehOpNVE+TNvXXnw2uZ0VSDp4vl6DKUscSanrP5VAH/2JWdN231hDOSGn?= =?us-ascii?Q?Hox7v3vfb6M1gT7fjw80vUVC0m+Jliz3DDGFDRwdhmP5+axmHG8oRo8HSyoX?= =?us-ascii?Q?44xsPE6QoihH+nMveLKBiRvlMJB/Tm906mb53LWUyyLQ8dLBvzUwmfuKA0HE?= =?us-ascii?Q?mZxPmUGvB/Vfj2PhbFEqQkRXsREypq3ey/cbfZZ9RD42ul+gmYnJuHh9JU4K?= =?us-ascii?Q?gOW9gnfhT48Tir+iPXHZPZTcu1LA+HkV9k9IJKi4w/TwxFMNBpHe0Tqnt6D7?= =?us-ascii?Q?D94mVTs/YJcfpbbM9zPtn7eQv00zzUUPo3ke7/flneM9emiIgcfOSGxj4RL1?= =?us-ascii?Q?Zi+Ij5+M/NI2KEH+ipYpDA2JUp+VCOxpnXIIljLy3447jrfUNtpllEpK0gFo?= =?us-ascii?Q?YdToi0nYmPiAGWhp1CtvVFo+hVHKBFHdhWM76VlPZBivA0j5WYwIjKYXOQqu?= =?us-ascii?Q?0E0at4/nPfk3D04vOKK580f5EjFKMwh0S/Yq7FXJg93ar9heHAZ6ZlviFZtM?= =?us-ascii?Q?Z9J+fIcwKv2r3CzA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 5:NgTQ2P3l7kVAn6VfVnfPCJruWv13HEtwBq0Luy+e8L+E7sglIoNX3KlX4036PIR+i6ucghQvICp5jZ/OghP7IIZRyLxVOgTbq392EhCigxalMzGkRYNoXOTCTttz41ACE3EVAxTuAL4fDLog3xv1KQ==; 24:lkCeV8jaUld28chwyTDap/OzP3QHSnSExzEGi80ggBPa+IdHXraRT1WGRdzcI8+TgLVUJZwJufe4yIo3GlvAUNeUrOUfgaOkNvls+Z2ZYlI=; 20:GqlqjTudo2uNWH5/Bj6QhPtNgFWSnT8xDkW7zhGTf6rAHChbKtan8IOkCot5EaqQvnIGKeSHuPd4VUSlrv6RZQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2015 13:10:09.2049 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB1974 Subject: [dpdk-dev] [PATCH 03/12] eal: arm64: add armv8-a version of rte_prefetch_64.h 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_prefetch.h | 4 ++ .../common/include/arch/arm/rte_prefetch_64.h | 61 ++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch.h b/lib/librte_eal/common/include/arch/arm/rte_prefetch.h index 1f46697..aa37de5 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_prefetch.h +++ b/lib/librte_eal/common/include/arch/arm/rte_prefetch.h @@ -33,6 +33,10 @@ #ifndef _RTE_PREFETCH_ARM_H_ #define _RTE_PREFETCH_ARM_H_ +#ifdef RTE_ARCH_64 +#include +#else #include +#endif #endif /* _RTE_PREFETCH_ARM_H_ */ diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h b/lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h new file mode 100644 index 0000000..f9cc62e --- /dev/null +++ b/lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h @@ -0,0 +1,61 @@ +/* + * 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_PREFETCH_ARM_64_H_ +#define _RTE_PREFETCH_ARM_64_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "generic/rte_prefetch.h" + +static inline void rte_prefetch0(const volatile void *p) +{ + asm volatile ("PRFM PLDL1KEEP, [%0]" : : "r" (p)); +} + +static inline void rte_prefetch1(const volatile void *p) +{ + asm volatile ("PRFM PLDL2KEEP, [%0]" : : "r" (p)); +} + +static inline void rte_prefetch2(const volatile void *p) +{ + asm volatile ("PRFM PLDL3KEEP, [%0]" : : "r" (p)); +} + +#ifdef __cplusplus +} +#endif + +#endif /* _RTE_PREFETCH_ARM_64_H_ */