From patchwork Fri Nov 6 09:40:22 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8753 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 789188E56; Fri, 6 Nov 2015 10:41:32 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0082.outbound.protection.outlook.com [157.56.110.82]) by dpdk.org (Postfix) with ESMTP id 16DC05A71 for ; Fri, 6 Nov 2015 10:41:30 +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:29 +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:26 +0000 From: Jerin Jacob To: Date: Fri, 6 Nov 2015 15:10:22 +0530 Message-ID: <1446802833-22265-4-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:8PMCeczOrjmMVrDiSPJ8Ry4l+DCo0A4N/pQEOl7LVrYtb3207PVGIH04TogSC6eIpjXY7rLc0CBnGka4K3p/z8aVUPgMSEbW0oEhHXA3df4QyBa1ybfCg3QMfiPSEtNRTbz97jn5rTuccAQkDk9ni2+hxXxcSWeg6DU6MWLu0IU=; 3:8garOD3A7tkMvxtLGqtImPk8s3qSi7DoypM97sUEZzDj5w+x5Dk5XPzJh6ST64SFtU93gWDN+8d4qZOOtvCEPpZMWJwojHqxWvRBuclK72r9Pr1w5ULKXfBqDLJjISseFCQvOJ1YM4heJvuATUuddA==; 25:zGMMVUX54fpu0Yifc/j6tBNqwzfj7DKqATQvE5/FQ+NxnoahnYgM7UW3aUGtbE58S6Cf1ZUp5AbeFkdCmPCQhfKyuqxBLlkhrEQMYyRjLYJ5D2RwmdBVAjWyVon722kD/hJbTsMkue5mZo+YujswLMGNLFQcg/fije9B+09AbZ36av/m2eC6lx8fmFPXEmOnEDMi2Ktt0Qhh6kQV0O9PzgLgC6rTPeNRK0vyLBAhrs+R2rRHuoajIcaub0rffkiHjDrvlhp3z4hhwESFgKrnsw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 20:eH2mwsdJmExYoG16cZ9oOJ7jLU2KwwiuX8RzvXQmagJLQdsMaTCcAyDFohmMoaw7Irdoe3n3Cq/Ozm/S+Kle8ynpRdqQcxhG9v8nasem3gkWWWJNdvfONvryCJQrLMSyPkbOf2blEtJiOjOG0A8FZ0ru6F0pT1KDzjQD7C6Q2UeGXCpsGmkDxdgzQS45B8LwnIAbwQauN42GXEftYKPRxUR+5u8btQP8o3pKRvI51sJ5Isz9lUu4/B2ofcQhVzc6ZTrqFDM2XzmPl5ENxcYWs3eFwoX118xmdzzkLOHzMnljGcLvB9khvG6woXE4TgGsM2YTdxLShZcn27lYHRVb3mehy/0acwaBlfGcYXJri6McjiQDKgL5kAAMGnUT9V598+zdBSWlOtSmNNxGOopkdqUnQlYkjtfqO4EueWP3NlCgTur/g9nTq7fDfWzwUUCWNH+0SvXHX9GzCcoQrSxyL91goPK1uGL9uj+2fJBCl0a3tlXSgtmJdj/KXU0XvWUyQPEyinx1NeF1yORy2H4DrTCBkHpdVWf7NgW5LUqQXx2SKDjLnY8AbH3DbYHCZwmxTGgSfwTm6M45Qn0MfKp3HHhkdXfRGUnbNWWTwlP43es= 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:e7S+06n56/NcHj2UdlKnlXiVlXU1VSxOBxFcf993xwg0sOMhDF6zfosYu/9ar4rH/WK24xUmHlpK8aGXChjGxmbB6oOj6Z4i15recgp2pH5hj7JsYIDnxhL6ih0FpkIDf9Js5BbJJVI3FpNIgQVJzpywQ06Cy85bVSezXGKCwlOAL+y1uvCIGv4yY3tovfmjfHf0gT4hMYRx1+D52iZ4NzF4gL4DdrnVm3iA6Tx2kkDbxd+YNXgb34LGBZBRTqg6STjRLEpFvOIN/xnlSOcWFSDhKBdmlBv6oeqFfeZZEG8cHFYzjVj2nnCBG1FYRTGMhX3GPu14i58xaP7yKhLDjRxflJyqe0rC/QzBFaaFxNfL3i9PPXyS6s3cEaw07DLx 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:pfxbl2640TAeMMm2U6PzOPJw59245Y82jc8kbZZ?= =?us-ascii?Q?YKfxqYrpYPx9Qb++U4p3109yRIh9CoskxiTplzJ5iNwqX7ERQ/z7d8xiLkum?= =?us-ascii?Q?R9tKHLgq3E17z1CsQFxvAvKedl5qfwlG2JSN185CAUpWeopspHJPiPDHmur6?= =?us-ascii?Q?LN7GipZtbF0vLQBw95ttbJ/RtHuu5EyxVgWW6Pyd5gAfQFegoRiFouuwCA5g?= =?us-ascii?Q?7m3qt9oeH3pz1faWY/t6h8tqh3cAetFbQ1/iNOKgSsAeetTZx+ec8tfOH/p0?= =?us-ascii?Q?XamAeqUpaxg4f1FiBL0Lu/RPBr+/t0y1VHloerTgYKJNPH8vGdaBFrYAVzBX?= =?us-ascii?Q?vx1sYxR/YGluYU2QWYSQ3g/8pOcthANHxYJUpul6IyTx7Yb4Y8nbVMH9K+XD?= =?us-ascii?Q?iNze0wn1ZySYAHBwoVe8lku5rqGkelIp4jGAquG3PW1dsVCQ+t6twmILwma9?= =?us-ascii?Q?TCCGbq3BTP6T9qnYgTsBdgTlpSoxIbDa3Yxg+Go+DKZeO9tLGKmImtxwPXW5?= =?us-ascii?Q?WnbMb1qkXx0nieGI14shAzXfF4Fxs6BkaHlG1EsiV0OuQLQyLLpkDOl1wb3Y?= =?us-ascii?Q?v/qkH9vQXuHYLM0GRWVDOdt6MWbTavzF7eT00ZAh77OSYZWJVZNeu2kwmysU?= =?us-ascii?Q?2Prcc7bDG+c7WU16i0IVwoAS7vkcSL+9lfSGk5aIFhxn6DCqeCMbKWohYzE3?= =?us-ascii?Q?9UXeHyowLxAxWrRm/9cW0FTPKnjy2LIESahooLWMrhXGEhEgSbO5lpLCNzN5?= =?us-ascii?Q?pbiRHCPMhUfmssTKwaphd2HlbnWN5jGb8vNLGKLLUcAG+/oowBHUkS1fXBNn?= =?us-ascii?Q?R9xNoZonuJvq17w/MR5ChTMC6uQxE8sJWJAE8clQow6lsw7gYkrk3lz4EwGP?= =?us-ascii?Q?7LJYkfeiH6Vi3ZlXc/maNAw2doTjNtdoFmNWKiVgG+o6bB3VT3gltBOPPYLM?= =?us-ascii?Q?CFJN4ror44pRvo8+mJaaXfL7hkTqRGqGi/cCOKek8d0wxRzo74MVD1bxUC5p?= =?us-ascii?Q?ZCJuv54Vjruc+/0WivRSJEYb2anWLt//jQHUUyUwzadPbBwguxeJ2lmqDlqS?= =?us-ascii?Q?4Xd2B6dqvIy2wrWNuRwTIMa8A5zYfQi/Ch29UbrtRol+eP+P9nJJECWuwck5?= =?us-ascii?Q?suqeGvVNSy6xc9qZK1rBcJpNY0wIgQ3K1?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 5:a3QxxTcel8SZb53kTHO26WQGNzXuUsxoR3C+0zX3VJmwh3QjEfS1DhmWbigAp85dFHD+oIsecahO2yv6xBSu7TqJSDjjKMOSVAVMfek38NInmaBHGQmLDh4o2IN2+N+ZD01OIPlbr4P66O8hd2KwDg==; 24:ZpdBARDZ++jFLdTfH30f9wu9tFonmB3me43YDxwc4OlnhROYgC+x34yD46+p7V5c7k8A6vOtPyWiZsSKM0Baq0AQXXQkduOQaqRS23Jfjlo=; 20:lkzFoUnNN8b/2Pt7Sequh1kJB5a2EKLh8ClZw7nR9fM5InvqDoa2T2DCG5ILklQWrGOgPnZnQ+/MtpznL/3Fzw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2015 09:41:26.3191 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1969 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1587; 2:BuYXt+sIWZjl2MGfZ3uw6GbYAvKuf8BrAZB4gyg1d6m0CmRsAuzQf8ImWMmGp2UWwSu3Zg0pD7HNimufV2hmYOq8Yp0QbgEM20Cgd9AGIPn+6ULLIUErRFR1E5lDO7/BurALJjmjSNz6Zf8eDd2kAVe4aKHSqX7VXZJIs0O+bp0=; 23:5h19WVwcNdYthKmrILZ+AavZ/KT2OkZ43YVQ0mgL6uiYIhrXUYixm/UV0Q0lv7Mt8ixapqtjb6i8Etq2TLHzAuEnTi0zXbbZn/QbumGX5CRWMKc4xwfaxIPYTQbjgH503vYG9zEors2XKux8rC+uZw9LI0/HfKA7rDcL7JxKP3JP9CU9tp0qTq9a/V7QXdD3 X-OriginatorOrg: caviumnetworks.com Subject: [dpdk-dev] [PATCH v3 03/14] 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_ */