From patchwork Tue Nov 3 13:09:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8590 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 35BFA924D; Tue, 3 Nov 2015 14:10:38 +0100 (CET) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0056.outbound.protection.outlook.com [65.55.169.56]) by dpdk.org (Postfix) with ESMTP id 65B7A924D for ; Tue, 3 Nov 2015 14:10:36 +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:33 +0000 From: Jerin Jacob To: Date: Tue, 3 Nov 2015 18:39:10 +0530 Message-ID: <1446556153-18845-10-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1446556153-18845-9-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> <1446556153-18845-4-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-5-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-6-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-7-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-8-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-9-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:sIVZI2J/hAOLpdvYm8KCVDnE+8MMXrV82R9L7ul6Qw2WgZXXRi+LXEZ5Gym83SGA9orNo2hpKgdpYNY46cntPkZuOz4Y5glk7YQsfyj0rnDwQs0SRDgufuKhCHduLgZW+ytczpKznRehKZ2dWO/1lGt7KMbR5SMATT/EjLkr8Tc=; 3:d0aJ27V/UFm48urHDQWa3N3HMNLsZIxoWrHNv9IrXzJdjlUbgS5HL9JGy7AD/hPb4VjLqzNaaSW36Uv7zxwABs+X86j2G/b5htXyqRN4I8rf3H8QAmxY+aBPKkyLlqtww89Yk1k+b/z56+18BZ2uAg==; 25:/8jjP4QUYXcQvCmzUuaqRn9TTLXJxqLuFW6kJQO/exRwqwQkZYmznlZerH0SX2GenEo2ZLmnneePyB18A+kZ4CsNl2NcOIU/DtdaC5qWOqoet85T9eaoGDOBGbVrAVqH1NkJ4qMApxPKDuGcXP8u3G0Nl9nFoZ27GcDsgMm2jmhxjQpfmm+tDn0jOrwTxo/qPiZHTla8DtSgr5/O5Hv+k2qRiz6wq1v6J1YBo4wfqytSNh7h1cpiL0wtAH2kRREhMVBuJN3UJHWzD8srYyjx6w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0701MB1974; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 20:/2uhGPaK5W4KYg5xRuIymwxmtcRcz+XYyJvVNlfZxP7mBM6PKCD8Zsp7sLPZjS3EL+CDnCEa+WXuVS/58Lm4zke4g8sNkXU6H/H9zGtzoFdGLVrf47i9/o+5Nsq1MANug9ClyLjwV4+YC7yg4g2ZU9B1bidEAhNvVqm7n/whdnvd6q+Qh5ZAgI5pKXROZ7Sj664sJctwdcX8PwV7oDgawxKh00mtIt63GSL2hNYG874s4w30Ci1k6geGa1SunnDFI0c4b0b00wBAkwBZmQ10GSjy8lrC4gCVZIUzglO6BVSddNt0OFKU7UASvIRWBYKSb/SpwXwSyUPKXo/Y3YLqVQj11+EPMxBELJV73mGnAtUModult8g4eN8qdQUucZ58Lf7aGrvYSK+zsTXFf10DFTm61xew+ghGHfIidjpVYuIFNuAsNfqpYM0ETCwxz+VLNjEQldrVO8lSHQjGEjOrd8xBzrp4MRTkLpo/rUw4p2qpnqEnXXJV6DXPk/yiHfZwvHHhjXy7E9ye5remTWwm8MsCkAEvY8otI2t8dUVSDkafd2zUG1oOgUNNsWViQh1BwzrqmxMp1HYy0SMIutoU2VT48S9URyrTf8L7cyF5Kok= 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:4RUcQvzi70ojAui9G3kFngW5mv6rGhTxsRmpc9EgwiP8IzZ8Jc2MA649SeiLCpyhruyIcqhd8fhvRJN2QKCgMazp6GV0ZD6k6aJbSM0eVcxbks+zYfXUUIOx8MFckYS0U4alk0CNGNRuhwAk3LNjU36yvZcPBxuxQsV3tj+nWcmPDOEc7jflIiUzVlKNdIwFfoJf8A97MK7z05mfy+OR8cb5EhANP8oSB/mRoyKFoegzXxYjyz4XxpbZQoI22afQsDqgHYch4gjp2L1utuY9FcG5lFpSaazo7bkSacOnIGJ5vQR4zYxh/hJRVx+wWiucNkzXDkNwL052IEP5SYWJr1dJKW2Mb9r/MTMa54Zjr6Q0nk7p+0MXq+Ipp+mbZayS 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)(93886004)(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:rdow7i/yNc26ngPjP8CWEpipnSY3FJ/tRWljA21?= =?us-ascii?Q?Hk7/p6VA2rrPKLWFfWj9xu9nSzAF+LpdlHJeKaFyw9V5i8Eg2YllAz98swDu?= =?us-ascii?Q?+1VlSquWspui4aNGEne1bN0DsVzMG2z5tKyRNjrGkpQV81eRXzEbHc4uYFDC?= =?us-ascii?Q?jEjyYu3VGmZJqAnB/xvypR8k31l+O3MfOTUyF0sw+Y4JmS7d6uyaJbz6242y?= =?us-ascii?Q?JOsBVlqDsJrseIlBQk0d95Hh44DHQG6wls5hGjkTB6hE+B5F/LQIYmC+p7y2?= =?us-ascii?Q?/RX6/4njWi/JWJ0J/WTjOkX26x38r6XAv0aPss7i2x2MccFHpS4vnZzreg42?= =?us-ascii?Q?OgDZeJ7mEmQYt/fB9XqWHMPzhsjq0NmtQlCDGaWwlyzlaAOU/NdT6aY5Io/1?= =?us-ascii?Q?NMNosdSURtJ0Hkhpg1FRKzNXjFi5KTVGkiejCxx9ettDAVWSonQFfneXHi9U?= =?us-ascii?Q?wENWf7MeXKjTpVFfmgChgini2QGIAAoh3WG0FUzPRJGolTxAxYW5UyqH23HZ?= =?us-ascii?Q?S8+Zv4EYABoQlZYmCdoKDC1p610rtou7zF61F3F0ZKv9gBZrZU7yenTKSXCS?= =?us-ascii?Q?TNPBPc80nbKDo5sRU+eCKmX6OoBTV3xBCsay2NAbhQG4vETbiHAPurvmUISC?= =?us-ascii?Q?dS4u8iwu7H+99voed8jz346wVRV9U4y2rflP88ozHTV9TGWyfKMGi8+SHyq8?= =?us-ascii?Q?BoXsS4LVzc1zyJVUOs/Y4djP97DtXY1dzJgu9M+UmsXE1IDWVDiebFnyvStv?= =?us-ascii?Q?2M94cz+qXoVkEw78ny8I8Yw4nITSII+1BfMykq4CXRJw+ddeboiljOTrcBi9?= =?us-ascii?Q?Loku4Zs4BA+BO92t8HQGGzVYay5f0gTm31os1tZBUEZiGvFXKcVcc8ohC5Id?= =?us-ascii?Q?L++spNWzbG8Sog2lf+4rXrISTnQ4n6EpcRYHRMoqnZGOe4HW74E4STgYUqBl?= =?us-ascii?Q?G9+SKYoJzgBLBqR/AqxsWpwbCil8Zj+I0zJtsv7zirka4/ydJFXXI3W+BEtH?= =?us-ascii?Q?KeIfI+gAqUJmcfqS4NEqZZTWb0VeIzSp0ErDdLy3a63EtIEvLEnF2x6bu7M8?= =?us-ascii?Q?53pYlA195gYypx7dyrVo9lEmqiAFXHjc1BXpDTlJP62Xsfxs7KaYTthySGs8?= =?us-ascii?Q?W6C0Cc3lPAxQrdUwU7GEGEp11Bb484hAr1xyxyaVDJa1PRDaZbI4nxZ69BiO?= =?us-ascii?Q?O3/Ih8Y2HTBJnLc6bhTuRfO0Mt8EUB1T+kggw?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 5:K4tcOs/Erh86CLJ/xQk6Zno0yzJBoSxitvyGPzfi0deW2VviV17A0vdtNOGLWKnDjbb669/dstnLqscz2iZlauhJ1cVp1tvw6NYjc/wMFapkGf1lOQ85Nah5+d1m9c9InuQDwtQ0RKM+EgJMoS1rLg==; 24:ef9rCgClXJ2m6F/JJ51VShXC68rrR3u1Fi/CPexnXuQ1Omi7qrWgDvbP5ThwAoEOR7Dn0/Rtt7f2rE/4eLOgd9U9a3Q5csflIoVdU2YKntQ=; 20:TVMiO+SYuk4W1mTPj0SLpkPR43DTq6m+wDlfYoj63Bni7Su9yQV2FYQSjZqDvNqPkzxE99kV51lc9dbqrJfT0A== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2015 13:10:33.2841 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB1974 Subject: [dpdk-dev] [PATCH 09/12] 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..6ea38a5 --- /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_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