From patchwork Thu Nov 5 16:38:06 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8713 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 34EB691B3; Thu, 5 Nov 2015 17:39:26 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0081.outbound.protection.outlook.com [157.56.110.81]) by dpdk.org (Postfix) with ESMTP id B8E7291B3 for ; Thu, 5 Nov 2015 17:39:24 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from jerin.caveonetworks.com (111.93.218.67) by CY1PR0701MB1977.namprd07.prod.outlook.com (10.163.141.19) with Microsoft SMTP Server (TLS) id 15.1.312.18; Thu, 5 Nov 2015 16:39:21 +0000 From: Jerin Jacob To: Date: Thu, 5 Nov 2015 22:08:06 +0530 Message-ID: <1446741498-3096-4-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1446741498-3096-3-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446741498-3096-1-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-2-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-3-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0067.INDPRD01.PROD.OUTLOOK.COM (25.164.116.167) To CY1PR0701MB1977.namprd07.prod.outlook.com (25.163.141.19) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 2:cWc5b+F5N1/w7f5ltNe78g//3kkSCUElJ4eniHksov4OH+pgfhXkVCHZp7elIbqXK/zSIBlKAeujkS4w0gvTYAqkf0nBPD7qrQ5ddGWBVYL8wqR5za9LafOkUohwZxvSLxlqP0N5/ymvJnggTKCn/7laQ17yLCyINmMmEnTxCTI=; 3:ktbIwKWlYR/U5dkHO7M5u2hsZq9EuYI1gCBXLKSDDyQSevldn9yc/Sk+Pir1FIepuIxKF0D5ygy4vL9C8mBZ+NOvsG6EPg9ehwWoJHzTjj/FgrRCXGm9oDzH3KSDHS/EvwhwmGHUPG89ndb4TUKtXA==; 25:cpb++PRAnc1xUZqEcUx/8Isbb95vbPkUXbfNJWqu7/+lfMIbkWWzUPlBpjaS7JP62cu30B/3ZQ/LQ5i6Bf7v5JqsdjKhwpMmYuBBYIYn7/qFeR8JqmE6sGV4nXr6Rk6IEUBakozq5LXpV8Nk4mdZJiA/BEOtay1I7Q6G+NB9BfojZ2PrTjhiDWRZILY3PMgEO1wFcgm1eG3ZbUvg6cIRB8HvYVR3vqI6V7Ei0DRuGQ1UHrBnlgXxfiovrYI4KOgSzLoQdqA0G2fYnfgbrpuw7A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 20:N9DR+KMbyai5LlFBGQUugTht8SF6W4ddvpCdjUDcR5rQktTElZ+nUI8W7EeydfUXmmBps1filRq6RzwkbywF2BuRREbNjZ5KgMeoiN6aFVDI5ZSstd7unXzZ4N4s1q9rtcSMMvWnb/phUcS84ML41zPX9XI/IH23a8HuxtUxuUaFOJOTdG/FxVwJ/vy8QFy1i78xq12vUPVlwjwN5waXdL+KsU20h0+1qpy2GGk3wiKqi+oXVAnOzE5nh1vqMKw6kQ5bfRNRVLZKQDfnwpQp6pECqFwmsR0opehUrZspVDQh1e/8kQFecbtN/IBACUHdLejQ9ztVQiVg+ZT5LgaFO3tppMRzlj9nNevWJdwJBGLa1Fx5YDAakasVaLM0VCLn3X/XIIxFX5O/cUzK90IFnX3E/KNROzUro9CcKiWRdVqXdiK/TizCgiTTf4+NZzwYfFN1vnDd3my6G0KTZJ+LCeMykgW71TEbsOnFNmbXgMyAyWtXTsK32Up11CxHRebqNCB89fowOOGWCAX+VIfKsvKg9s7x26ssWpa3mp6IPs5sF9c1BKnP/1f3TQpPhjVg+7B0qO7nG/cfai+VVvdyCAtG6xTwhvlnOdzqLMDEvDg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046); SRVR:CY1PR0701MB1977; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 4:8E3lx5KGGwK/w+1n/9gybQl88ovuG2CxvlIAQmb3lO6CJA10xDNHA2dQzkRuOL6qAn9jJnb0OHnbwprD44m1LvBzxaqswPSfmGvZbgk9ez1/IWzfVUGI980t3TeW4saajVrCRGyDzkfsSXtyeEDt2TISiywbi+awya9Ou6PeN9PMOk+EZ+iUqj2xSFjb2CsPR5bd9dqf8X7m1F1zAoCnjLBOjwdXC7wVItRCdMg+EjXRYqOEpuVSJ63GlvsHjqG8qgeWyifSqtJ6gwRN7CRsVp3ZO5A5j5Tf7Y7Va8mV3OK1/VsZr5gT2ODSDb67oLAsf6ZidkO+BYmBFgsxBb74TFOcgQnXLlFvn0dBnY/61zMPTorSEIvRx5p2hQqL69F2 X-Forefront-PRVS: 0751474A44 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(2351001)(81156007)(5004730100002)(5003940100001)(50986999)(50226001)(76176999)(19580405001)(106356001)(105586002)(77096005)(50466002)(53416004)(47776003)(229853001)(48376002)(33646002)(19580395003)(69596002)(36756003)(107886002)(189998001)(42186005)(5008740100001)(40100003)(122386002)(5007970100001)(5001920100001)(5001960100002)(86362001)(2950100001)(5009440100003)(92566002)(4001430100002)(110136002)(87976001)(97736004)(101416001)(66066001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1977; 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; CY1PR0701MB1977; 23:fHY/OUyLxJma6ELaYzxiXbBLcREcLU4P3MlahNl?= =?us-ascii?Q?8YawhEeKtS2iS/33rUpD4IXSm0z1nTiJe42Ol7G6IplR2Fuc/H7ni/cfS5FL?= =?us-ascii?Q?wVcO90RAuRWKt/ZKrSrHgjnb/xH3EE6Ue2vweHv8ZJgRplEPC4F+U6/9l4ZF?= =?us-ascii?Q?M/VSyrt+k6//DMa8sZXV/BiC5awpXYEoNfkDG8JFhAcVY9d4GVud7RXWr55T?= =?us-ascii?Q?VgKGhw4ORfzLqLaVHDwczZ6NrZT0TllQp9WCYvcr5jQ7rrenwNyaQYPaNiTj?= =?us-ascii?Q?AO/PqQ/3xp9SgKP1XoweUyhBY8I1fMTHqekdcJCg26JBZf9D/xA1yr0eyE+b?= =?us-ascii?Q?lJLTpwiRZ4qMh5AWrmaRrDlhRq9Kd+UZl8FyC8wBUqms9oZVZtjlLZwQ3aOF?= =?us-ascii?Q?cDRk2AiLN10a4oIxvR+u6HRXQqMti1rA3J++wdSo1ozux8GveHIGpkFjipE5?= =?us-ascii?Q?igSip/xgIiM90tSh/dRuValRD7w7NBVdCeGvVfznnwWTrh3TfQs7ymE4jYjL?= =?us-ascii?Q?ZjXdp1S9JCjSZIb46hdkoHwiy6ckOw1ut+84KEutv7LegQbetF3+ReEpXCbb?= =?us-ascii?Q?HV6Tv608fKu34Nb6uCyUWmvLho70/+hOaJaJvGteuBR3y/xhL7kvO/kY7IxC?= =?us-ascii?Q?chOtAo5+aE0zafhvl4R8GIa4gFl9TFJ743L60AYmm3Jn6AKl4vQ8oP6gk8KY?= =?us-ascii?Q?fw0IACqRzm8cAxVuoB+VI5AydZZQ8QrVbT4bp4LRMGp/rkkygc0abBdc2AUH?= =?us-ascii?Q?R/CrcLh470si7JqtugXMwNoDO0bMVzV0LEe8IYTReuKhbKIBAf5crQXf2wio?= =?us-ascii?Q?Ns/FkMQ9Q7aGKlz7+j49mxkyKqoeBP9/AnAxiBYf8TMxagkH9OHdnQNKEXdX?= =?us-ascii?Q?7c9cnpwDvFQECZ/Orc7lft+D5NKVV6+kLc3WDyqE6CyNWQdvlM7NEckDdzf/?= =?us-ascii?Q?sEF3lEnL1mreZuBL4g/Dno4ETnXrJJm5UHhX0lGzNPP4VnptYsLZ88E9tPWX?= =?us-ascii?Q?LM/7GoAcy/wqEs8aA0FsVQacvB7vyw/Nx+KeT3eFa69biO1rKTClkCKuUqcE?= =?us-ascii?Q?JmEtO71BpzdXWmgg4EVL0r2oZgbOi9zXOV7UpsS34wdCJlA90mE5hWVNoAXx?= =?us-ascii?Q?TnsDXO3qNjNrEGOdmXZCvkR5GL4Nzaso7oHGtYtbixHpN2f4PYf2vCV4342b?= =?us-ascii?Q?INpnTi3v2SEU3FGY=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 5:lWAIhUZMd5nc7YkTvd3mWUXZWfpXwqf5Obgch1eJUnnAH4C+DIqFl5TQ3fpo/ww1E5m+aquJk4N+uz3YYIdWCb+WmMsq1eRbeRxP2IX0d1aJdNG2MVQESMU6DlYaB2BWwG4HyvAoTNutruPI7pGhaA==; 24:mOV2pEUy8d81YtnZbyae8pjd3qT4qD2I5myGRqMeCRPuE7M2HptYpePz04B2K6KdBeLljeTPMfdQwidH4bSl6lPgnLiDTLbLMO4rpm3+VhE=; 20:Xa/O2j3IttusSwR2A1iPxfKMMCyasfyPEPd/h9gHgj4atkIolOrg48NP47nRmma08+XZsKjc6OkDfNLHLCs3aw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2015 16:39:21.8506 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1977 Subject: [dpdk-dev] [PATCH 03/15] 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_ */