From patchwork Fri Nov 6 09:40:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8759 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 4201B91C2; Fri, 6 Nov 2015 10:41:50 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0083.outbound.protection.outlook.com [157.56.110.83]) by dpdk.org (Postfix) with ESMTP id 232326787 for ; Fri, 6 Nov 2015 10:41:49 +0100 (CET) Received: from BLUPR0701MB1969.namprd07.prod.outlook.com (10.163.121.20) by BLUPR0701MB1890.namprd07.prod.outlook.com (10.162.88.151) with Microsoft SMTP Server (TLS) id 15.1.312.18; Fri, 6 Nov 2015 09:41:48 +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:44 +0000 From: Jerin Jacob To: Date: Fri, 6 Nov 2015 15:10:28 +0530 Message-ID: <1446802833-22265-10-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:7OPJ8JNM8ZWlHwQYBu83e7ACEFf48DbRWmAsQ/DqEQRx4DkWcvbp43ACmczDcLAZh8U/kom4//MiaKl8xakwQL1hCOLiJF0phPDXV2cNWGs1PrwxicV9WTJQyPMu/L4M5my8hDAhG2/ShT41GykkgVX2thvhJwQyDxi0OSy6T5o=; 3:5gB+XdIRaD+6ynQoGObyWWJSdCqX9m/ITGwfaJUPGkuAIGU/vr2b7+Iv84nieAul1FD+xGhsCdsjMlemBtcI6KOnw9rU05Xa8cjdc++QoJCZLI3xseBN6+PCwrqzm+2WrW+B7Pe2vr5/j6XV8gI9yw==; 25:GoStKyCsB+xrp1A4OltARHbWyHQqwVmPmLS0HcXgy4Hj/PKRyl7UiC/LL/92fHJiv2w47Qq1m4tH5hcm55dBjwTHX6aXVMoaX/tW1r2xiIea/UuU1BKK0rpiHruBW2tpNIBUuhrkwANsjuU8bxNzvdsQGMp7wLHhnM3IR9trTvZWSOnVTtycIzmM0EsWk9nRNcgB2MfEKphrKW+k++ripS4cvjckFu3Cm/1XpnfzsRB2vmiRG0JqVN/HeXEpKWESew1CZx409cAOA7Cz2b02rA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 20:19QW3fuCaRNqRTrrQap+gDukbvdSanC4xg29LPjizkYHrEHWqK0AUYKQSZKxKdYvdMKNbbPdIo2lrpNRg9d79RAj+Kyo6UlmtqeWXR2JTuSmgG6xElRfgtws7R8HTxGzJ7aZYlG2eN0WFRwuF2AlJvufDcIrlH8r8EhE2SWIuh0arH+dzeKlYT48L4dy1LJ27zsRfpjLVitoIAVzOGwtMykAAcR0uFZqugbVg2E8Wpni/0HS/doRQMcb/ZbGK2xzbUtXD9dH589iUnM0nwuiE74RfVRd1gqokUK41CDGkdNcr7aORghlMwMVhGpG4qk68zA1WgyJqiCdWB3SIvMwHh2OZ5KdW0MraZ77g6XcRrV4UbGOA33FxjDyeJF3qY8fvOp+qgS9dsdLtgJwLuWAqRd/CAtyk5bPTZM7gY9JsPRw2TCPrNgRBtR6AtnB1B4oICt/btPNbFW0jyKaY3HIABm+bwGONqRg9QnWrOVYuAZMwLKCL8FA0/uyUWyrfb341lGM1VDPJaa9ZcnRxDgUXmole7QCat5hRI7Ha30X2bmEkdYzGkzVDRobOeQpBK40obtSNEGm+CS+xicBhvQWrHrG12aKXftl802aNtbyEoY= 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:ouiPSQtuhx1s6t/pm+NsbSqzAnzpPn+QqrGaQ5digKfAikqMkGjI7HbXBDbq3VSyXxHQpkJXbubcdpJATfHkl5QThYSAI9C874iGR0p3XXOhqHkCCXegfJCJ9teA6R41cs8Ff6tDd51z4N33Ef/pU3Bq44IMuipZxPfybPhEt78weq3KhSQhxjKjLUIVxDWcL0ikJUwMVCzpb7aD4n4fh/KRoryMjL6S/USDgBDkIY6GhSicdOFwKvE9REmhW/bL54g2Q2Tkg+n9xHxELfJwpM6TcW7s+H/R3qg7hDjuns9Aq9QCT5xBaRDuHJHQwGodqk6q7okXRZ2iQ9ZDd8G5DgbgjccXuql4TRPbREn5ZsgLRYnvbj5W3gDtlgugZf4T 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:AKql6ckGziOZIzpxVaVAg6Y0svvEwH313ikVFvv?= =?us-ascii?Q?qggyWmvEl+aRlYqCOS73x37QPXCQOQA+ErlSri6jStPs7dFbzU3IwJdi1GE7?= =?us-ascii?Q?O1JLBmwiolChVcNIcSoKq/8bLflr9dqhb/r54DTujnLM3WqddPTAu0KovN7f?= =?us-ascii?Q?Uu8sa5R5kq2KCv13BfkS92qEdO5bGs1VpmF3kuIekmRztZhtAQLcdYcgQ0O6?= =?us-ascii?Q?FYtxD85ssdMvYkz44ek1fMBMHP5kNRpJCt1v5K8BCj/Srpc5raDNGSz8gXKA?= =?us-ascii?Q?muybcDVrNcu65oDblQSco2EiNJ7Sz3bO/2d/D4tWzOYIWLsHzqxrxT686ggi?= =?us-ascii?Q?IW60bDeEXQpLWvOvQ+3t6AjBK+hJPA8h0w272mcOxOpsUXCKCcBPpHN8AhpV?= =?us-ascii?Q?4Bi8JVY6h5Fy2lHPf5/PVYBvNFeVv36RLCXYm1c6aQp+xRVb3BKC9Y1azKyi?= =?us-ascii?Q?g2s7NAOERd+CKX/uFIrsR1KXiSTeok224UMpP9UI7u2b/Ypo7gIzw2oH9izl?= =?us-ascii?Q?uySBgYikIYm4yJNDM+tzG0DO07gLx+63PakecwnPCC0dUsqUWx5bb6BSMWuC?= =?us-ascii?Q?MLJFQdx4HxPRcv0wz9EMUQCD/8fMlO7TliuRctatCAGbf13imBqCzWKK8j7o?= =?us-ascii?Q?9nKXxgtqCxrK0wJR2LoRTbJ6auZjvWnpA3qACkH2SjQBCCC9LBRfKbqf2vn8?= =?us-ascii?Q?7nHWO5m/heiVW3u2w1Cw+xAKGhc3x0X1Zy9IVNXEgKKMjB8SH0Ei4qnq00FA?= =?us-ascii?Q?KMmT/prKbnrOp6IZE4JP9lUp5a/XoFadgVghaTbu34lwNSAMsnLnA15SpMHY?= =?us-ascii?Q?HsN6+ZwXKDfIc1ZfWiaEWWTa6CVYWU3AcabCnoouamhadC2Bfm8tu67Jl2rd?= =?us-ascii?Q?NRT8pKpO+4hsH4LxSdLW1Clah5o7MhFD5NJXdNPE05x8rUkorVi/b5CVahCQ?= =?us-ascii?Q?zIxwCeIo8inM43G3snNvkCRNokP2CxPmsRfv2YUvqXL/WNs8xxdQdM+mpPI3?= =?us-ascii?Q?eVS7BzZuewCGVDt/e4ErlcS9Vw7zN9LDYDbgHESBiyu6gntUEzrHnepXSDIi?= =?us-ascii?Q?a0b4T5dConNtx7ocWyRkztSGMgYcsTNyDkToDX527PpZdqfsVbAFsH5NcTWR?= =?us-ascii?Q?BFmfpL7EKZdY1kJDkDFrNL+iEf9XY/1sX?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 5:cahQISzMx05zZFxRNkJk6PZXkIPi0sYznyTp8FPP1JwMLoN4p+AYNp8x1O1I7UGl+EKgOPOsWV7kOKA9qW+cwFKw1R4ZX7H3qzzaMiZ4Z/1EImSTHR8ODVd2mGGAU0kPY4PXxJi0uER0SGA9I+foVA==; 24:zclaBPQWWs7aY9jG2OR0qCjWHYEv9uwcWHtW7+SOcuYZoZnKHFLQPih2AXIm/QDEI7PXbYyYc3rYka1iCPOdJdKWYXa3tO/ZuH4s8aVasbo=; 20:x9V9FatjVMPpJkyswTU0FcRICHqzVFizSy4c+/yoJ4NVCEPNpp4KKR+KaAAmz2n4XYkOyMmf3WaE0ntlb/PI1g== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2015 09:41:44.8980 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1969 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1890; 2:9+EzsYxw64WRxhm4xRG9SX3Df30GMVpsUL8C37DfFjk2o+lOiGpqqkSMEF+M9S4i8HQQM3uSHruRlDrURkIKUw/o9gyzNjrGMZhZoSZpReEhkSV3/+S01+8jr2IAwWuLKlulCbpBNntJc9T5zgZ6eQzPYF4tkMJlc7dI/I2aDCE=; 23:OkK1nw10rVmcdjVj7jIQY4RNV8RqFD+E0AEG8w6WA8YFHSOBJQBSGALWxyrTnSljenEGLLg8KGwmTBxEIwNtCwjsYivjsyeIJaRrj5ulywADyMkpu2l+8C4sQ5XoGOI27SLRqIA81z0VpjtpaVlFHKPWwI7yHidZLfHRXTjDYl/k0hsT8y7DDVufpeGPneZa X-OriginatorOrg: caviumnetworks.com Subject: [dpdk-dev] [PATCH v3 09/14] mk: add support for armv8 on top of armv7 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 --- config/defconfig_arm64-armv8a-linuxapp-gcc | 56 +++++++++++++++++++++++++++++ mk/arch/arm64/rte.vars.mk | 58 ++++++++++++++++++++++++++++++ mk/machine/armv8a/rte.vars.mk | 58 ++++++++++++++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc create mode 100644 mk/arch/arm64/rte.vars.mk create mode 100644 mk/machine/armv8a/rte.vars.mk diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc new file mode 100644 index 0000000..49e7056 --- /dev/null +++ b/config/defconfig_arm64-armv8a-linuxapp-gcc @@ -0,0 +1,56 @@ +# BSD LICENSE +# +# Copyright (C) Cavium networks 2015. All rights reserved. +# +# 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. +# + +#include "common_linuxapp" + +CONFIG_RTE_MACHINE="armv8a" + +CONFIG_RTE_ARCH="arm64" +CONFIG_RTE_ARCH_ARM64=y +CONFIG_RTE_ARCH_64=y +CONFIG_RTE_ARCH_ARM_NEON=y + +CONFIG_RTE_FORCE_INTRINSICS=y + +CONFIG_RTE_TOOLCHAIN="gcc" +CONFIG_RTE_TOOLCHAIN_GCC=y + +CONFIG_RTE_CACHE_LINE_SIZE=64 + +CONFIG_RTE_IXGBE_INC_VECTOR=n +CONFIG_RTE_LIBRTE_VIRTIO_PMD=n +CONFIG_RTE_LIBRTE_IVSHMEM=n +CONFIG_RTE_LIBRTE_FM10K_PMD=n +CONFIG_RTE_LIBRTE_I40E_PMD=n + +CONFIG_RTE_LIBRTE_LPM=n +CONFIG_RTE_LIBRTE_TABLE=n +CONFIG_RTE_LIBRTE_PIPELINE=n diff --git a/mk/arch/arm64/rte.vars.mk b/mk/arch/arm64/rte.vars.mk new file mode 100644 index 0000000..32e3a5f --- /dev/null +++ b/mk/arch/arm64/rte.vars.mk @@ -0,0 +1,58 @@ +# BSD LICENSE +# +# Copyright (C) Cavium networks 2015. All rights reserved. +# +# 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. + +# +# arch: +# +# - define ARCH variable (overridden by cmdline or by previous +# optional define in machine .mk) +# - define CROSS variable (overridden by cmdline or previous define +# in machine .mk) +# - define CPU_CFLAGS variable (overridden by cmdline or previous +# define in machine .mk) +# - define CPU_LDFLAGS variable (overridden by cmdline or previous +# define in machine .mk) +# - define CPU_ASFLAGS variable (overridden by cmdline or previous +# define in machine .mk) +# - may override any previously defined variable +# +# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32 +# + +ARCH ?= arm64 +# common arch dir in eal headers +ARCH_DIR := arm +CROSS ?= + +CPU_CFLAGS ?= +CPU_LDFLAGS ?= +CPU_ASFLAGS ?= -felf + +export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk new file mode 100644 index 0000000..bdf8c6b --- /dev/null +++ b/mk/machine/armv8a/rte.vars.mk @@ -0,0 +1,58 @@ +# BSD LICENSE +# +# Copyright (C) Cavium networks 2015. All rights reserved. +# +# 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. +# + +# +# machine: +# +# - can define ARCH variable (overridden by cmdline value) +# - can define CROSS variable (overridden by cmdline value) +# - define MACHINE_CFLAGS variable (overridden by cmdline value) +# - define MACHINE_LDFLAGS variable (overridden by cmdline value) +# - define MACHINE_ASFLAGS variable (overridden by cmdline value) +# - can define CPU_CFLAGS variable (overridden by cmdline value) that +# overrides the one defined in arch. +# - can define CPU_LDFLAGS variable (overridden by cmdline value) that +# overrides the one defined in arch. +# - can define CPU_ASFLAGS variable (overridden by cmdline value) that +# overrides the one defined in arch. +# - may override any previously defined variable +# + +# ARCH = +# CROSS = +# MACHINE_CFLAGS = +# MACHINE_LDFLAGS = +# MACHINE_ASFLAGS = +# CPU_CFLAGS = +# CPU_LDFLAGS = +# CPU_ASFLAGS = + +MACHINE_CFLAGS += -march=armv8-a -DRTE_CACHE_LINE_SIZE=64