From patchwork Thu Nov 5 16:38:12 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8719 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 EBCC291FA; Thu, 5 Nov 2015 17:39:46 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0064.outbound.protection.outlook.com [157.56.111.64]) by dpdk.org (Postfix) with ESMTP id BA4BF91E8 for ; Thu, 5 Nov 2015 17:39:44 +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:41 +0000 From: Jerin Jacob To: Date: Thu, 5 Nov 2015 22:08:12 +0530 Message-ID: <1446741498-3096-10-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1446741498-3096-9-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> <1446741498-3096-4-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-5-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-6-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-7-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-8-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-9-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:i/vOPsYqxkIctjnZ845D5tOCOwq4p2XmGc/5k24cTztMLNyJhh2M2ct7tNyT5I7spFy7Qb7w5dzsEPTQltMLNzED+qn7qEIbtlwm6d+SYNDwWceltK92UZ063W8ItqXha4jJ/9qz8V78vQe8LdkRmt2gl/B9iNFuKxKkoMpputQ=; 3:XN6ZIaPTwDMA3zlhprv8eIh+XFWcAUjkPZqnmigPE5f4bAcs2NIf1m6TpBkn0I+/Q48su4t+TDVkXMNfICK/zHqTC/ywT/VvaAdb28A6eZJsVee6O/fHxz+bPgEv6NHd6e9NCqnrVefX6nc/ffAE9A==; 25:jITTzmc2XnF+UVJyZX65eUuEmddRM3Fo3ZPRA/iG1YX1sExzapeIkthe9IckMDUZd+1WN9JJRyGRWG4pogb7ARQF5pNVJUZHhEd9Q3lpL4kSf4rohq0Qhn2+FmbdPkNujvEe8S2H6IqTHTy952DqjwN38hbddPVR1vUxl29u230givk8DhICO3HDKd0usLVotLg8TQ34A9n1U23hTuPqSlVa0WcfY625uvgd6LcKUOdmfXZsJqebrCSBF5E8j/caHetBLhCAxkRcls8T7JHTjg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 20:I6CGKAiTjEiZLETSHFtMDB1l8pIA2BiokWmTjNc6PwebBAczOo1e+v8DccWY+/5FREvgewquE0tPUsCDGPcJ8sVtV6d/OPNtF/+TB3rjlPrqQlMXjCWubTuU6n5cNKfq32acoNhOVDx5Kumth7S2p04LHTa5Ofo308ZxPK6jXuDQdPtvCx1VGDjWMn9n+E9rZBfhQ2TlGn4B5YCCnwGqnCliSVok0+EyFODAOi8KtbHSp8LXO32GIzYlxNzLAQahjukha1pW+qx8tkWaZB8cHiXHvA4QDXDQzU+aXwMSnTdD70Na4EAMr22rLZaUHO/oZrzZt4vhbvhf3bZgZSwGNWn6oVIsHMLfIx0AY+MyNK+wcpkIl2tRaoquqUBTSTk/wQApOk0p/oLaQD/+taJ8tSOc47Zn8d/GyfnGaPbUdqo95ylERYArkW//VH2Dq83ZNtV0besTwlyHLEqcEOhmEXS+tHa44HJPJEwKpsEGb8dX7vvcEcm/5i+cbcY+ltsh/Uj9zd8JyQcQK8qtN7NCrxk+7Bqqxd7I/m2EvBjyXqV87GXGIjkpAYj9DUL7dmDcvwCUcz9XyA8UVV1tPropyera8NVR5XUhGhmdtG/PWP0= 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:RUbzXxzfGT9UsRaxurYBuGM08JvJejdjJsnMoK250eloZN3dfUhMO+8chm6v+uC095hfq1qyhXfNYsp1tipA392RZ+p1SOfi/86NaoQoDh1rocuDQTpRSp8OtRvBq0E6R9iEi9ukYlHg5aJy9xKAuCs7CB5f2nns19lm1MXeBunMRor0XJNuZWkgddeCxHAhPir+N61cR3Flj9LkEIO/SZnBmkWRiMZ0Bfy/pFA4E96xONyfHOw8mrcUrzLjN0JgvYM7fU85y87GbLKbcj0FSQkqHd4NfBo5vDgWP9t1MYSLz0qg5gxGCYEUFHMGnW0/CIqnYwh8B0iBk6LOkk2ScMHoYOy0l7OewAnly9mWL2TUHP80sxSbG27i/MKPgaC/ X-Forefront-PRVS: 0751474A44 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(5007970100001)(86362001)(5001960100002)(107886002)(36756003)(122386002)(40100003)(189998001)(42186005)(5008740100001)(87976001)(110136002)(97736004)(66066001)(101416001)(92566002)(2950100001)(5009440100003)(4001430100002)(19580405001)(76176999)(5003940100001)(50986999)(50226001)(50466002)(106356001)(77096005)(105586002)(5004730100002)(2351001)(81156007)(229853001)(48376002)(33646002)(19580395003)(69596002)(53416004)(93886004)(47776003)(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:OABOapIT1Nf71Tqp9UrJkWt405FB5OuGv2mSNRx?= =?us-ascii?Q?ZMsv3p4SfcwT1+EqGHUaHQnckhc4vDEDw4+bwzfVd9UODtpcvUgq3h7wCd0B?= =?us-ascii?Q?UiR+Y/WUBR1lG/6nAAdVngwcM5/Mx8naV+G6SrVljcvxvdNwurrTJUfGlSgr?= =?us-ascii?Q?/NzxHb+sEgMUG0HdIChQ9ZYMfnQvgVQaSkKt81PbEomW7Zp/9zDmEoteU324?= =?us-ascii?Q?3OuqI7x2//yGmA4sw7MyWOtWLl7UkHKBdD/MLV2r0Q5se0vBkLnIrazk/bJu?= =?us-ascii?Q?MLWuzvAaV9RU+uRtmlf3rrB6r9TTRAH4kYqoMlQxSTCqI8Y4i3tO9+0SRqN5?= =?us-ascii?Q?c2YotMdXmq2C6VvHEWSOzE5cOIDW+OFZuHcoO2/KFsymRYR770UZ+clah53y?= =?us-ascii?Q?jYzXPnZytQidH13cghPMEvmYJVGRKR8dnLbphCc/axSHJrwu/DbgwH/+Pny1?= =?us-ascii?Q?TLAmI9wwD1XWkZDlQv1GS9ggQCxnjNWKyAU3+PGx56mlQPuG1wWkXXbsoWd6?= =?us-ascii?Q?WVLw/SkVOnF2lx2Fi/C1O3qCqxtYf/iGf7D2oZIdYywwj5U2RVnup7VWkHcD?= =?us-ascii?Q?3a5qbLaHwLRuPHqKlwd+aDbXG/HFW+7DGbgqMIJKKdsHwJZcZQ7nNGvPk1i1?= =?us-ascii?Q?qRbN8ZR1JMGJjmoIsiWObUGLBuGTL7puveFXKJL0XIl3cc2a4bJNPGDuN264?= =?us-ascii?Q?vZvijqlr+SmHd70y/J1QD70kWlTY41vTh8EC404xz3f1qAHwVdTEZFWoEgJr?= =?us-ascii?Q?Qlg5BH5KKxx8D7/ZHYRy9DCu4bKl2kmOUIcfuTaHTAXr2CZtOPU3FjHroa/I?= =?us-ascii?Q?2dne8A9Ihcpn/BAkLbu901yZ6xSRtDYUD/vXvuCeHmm/xSYTBVCCHIZea6Zy?= =?us-ascii?Q?Rppkr/012Agn+HLB9FO9wJl2Qhdl09Rkvgq+7fPk8+zbhigbhyRtn05lA2E4?= =?us-ascii?Q?nnE5wIBi0WjiDkYU2ytHRrrF7Znx0NLF9zvyL+1eXEnJMAKYYRMTvt52PEhg?= =?us-ascii?Q?X3MFSmnbyQaZ0qqCXM8YAqHai4XEUoszkBycr23pzao0Hc7vB97dP0Nt507O?= =?us-ascii?Q?t8zLW7JXOG/vBrIUGg6nFqDNCBYmCJd6vrFT97PdB0x4taV/jKPPyJXa1Mb5?= =?us-ascii?Q?bsyAsnDEhqSJvpRKyMlqXSu+oapXqb8eG0OhIYOlJSi/tZYuMfWURqw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 5:9oLcunQxuccBTQpPYKWkxRoJsjZCy8Bh/Rlk5E2Xjjmoe9auWVB7mJbMJrREHyGYYg9f3jGvSJa5ZeOuf/5MCiC6gcNqF/yD2HyWQfWG0ZQVeMLFgmZLEX/3chP4XWfiVJ2pWm4M4bTezw8Kxqm23w==; 24:6dfzleXxsZVUjHlOwundOp0HOgIVQIraBTFfEizEBFRnuErM9mCN+7x3q/R/AkpXylhlPUuk5y0QYh+V0esGzNypOuuqKAEXxPHqJ2vpTdo=; 20:8U0FM1jcGIkX64hhDoqMkk4q4BfnZ/QQ6o2PhhZNcg7E9M7pquvShvXUJ6SXtN90YmxywME0JnI3N6XFO9Rm3A== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2015 16:39:41.7421 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1977 Subject: [dpdk-dev] [PATCH 09/15] 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 | 55 ++++++++++++++++++++++++++++ mk/arch/arm64/rte.vars.mk | 58 ++++++++++++++++++++++++++++++ mk/machine/armv8a/rte.vars.mk | 58 ++++++++++++++++++++++++++++++ 3 files changed, 171 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..0314761 --- /dev/null +++ b/config/defconfig_arm64-armv8a-linuxapp-gcc @@ -0,0 +1,55 @@ +# 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_EAL_HOTPLUG=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