From patchwork Mon Nov 11 05:41:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Hu X-Patchwork-Id: 62813 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0E68BA04BA; Mon, 11 Nov 2019 06:42:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 800172B9D; Mon, 11 Nov 2019 06:42:13 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 9E7D32AA6 for ; Mon, 11 Nov 2019 06:42:10 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 293C031B; Sun, 10 Nov 2019 21:42:10 -0800 (PST) Received: from net-arm-thunderx2-01.test.ast.arm.com (net-arm-thunderx2-01.shanghai.arm.com [10.169.40.40]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CD0653F6C4; Sun, 10 Nov 2019 21:42:08 -0800 (PST) From: Gavin Hu To: dev@dpdk.org Cc: nd@arm.com, thomas@monjalon.net, Honnappa.Nagarahalli@arm.com Date: Mon, 11 Nov 2019 13:41:50 +0800 Message-Id: <1573450911-24317-3-git-send-email-gavin.hu@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573450911-24317-1-git-send-email-gavin.hu@arm.com> References: <1573450911-24317-1-git-send-email-gavin.hu@arm.com> In-Reply-To: <1564615940-13183-1-git-send-email-gavin.hu@arm.com> References: <1564615940-13183-1-git-send-email-gavin.hu@arm.com> Subject: [dpdk-dev] [PATCH v3 2/3] config: add arm neoverse N1 SDP configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Arm N1 SDP is an infrastructure segment development platform based on armv8.2-a Neoverse N1 CPU. For more information, refer to: https://community.arm.com/developer/tools-software/oss-platforms/w/ docs/440/neoverse-n1-sdp Signed-off-by: Gavin Hu Reviewed-by: Honnappa Nagarahalli Reviewed-by: Steve Capper Acked-by: Jerin Jacob --- V3 -change the configuration name from "neoversen1" to "n1sdp" to be platform specific other than microarchitecture specific -add the missing config/arm/arm64_n1sdp_linux-gcc file for meson build --- config/arm/arm64_n1sdp_linux_gcc | 16 +++++++++++++++ config/arm/meson.build | 9 +++++++- config/defconfig_arm64-n1sdp-linux-gcc | 1 + config/defconfig_arm64-n1sdp-linuxapp-gcc | 14 +++++++++++++ mk/machine/n1sdp/rte.vars.mk | 34 +++++++++++++++++++++++++++++++ 5 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 config/arm/arm64_n1sdp_linux_gcc create mode 120000 config/defconfig_arm64-n1sdp-linux-gcc create mode 100644 config/defconfig_arm64-n1sdp-linuxapp-gcc create mode 100644 mk/machine/n1sdp/rte.vars.mk diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc new file mode 100644 index 0000000..83dad3d --- /dev/null +++ b/config/arm/arm64_n1sdp_linux_gcc @@ -0,0 +1,16 @@ +[binaries] +c = 'aarch64-linux-gnu-gcc' +cpp = 'aarch64-linux-gnu-cpp' +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8-a' +endian = 'little' + +[properties] +implementor_id = '0x41' +implementor_pn = '0xd0c' diff --git a/config/arm/meson.build b/config/arm/meson.build index 46dff3a..b56e442 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -57,6 +57,12 @@ flags_armada = [ ['RTE_MAX_LCORE', 16]] flags_default_extra = [] +flags_n1sdp_extra = [ + ['RTE_MACHINE', '"n1sdp"'], + ['RTE_MAX_NUMA_NODES', 1], + ['RTE_MAX_LCORE', 4], + ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false], + ['RTE_LIBRTE_VHOST_NUMA', false]] flags_thunderx_extra = [ ['RTE_MACHINE', '"thunderx"'], ['RTE_USE_C11_MEM_MODEL', false]] @@ -83,7 +89,8 @@ machine_args_generic = [ ['0xd07', ['-mcpu=cortex-a57']], ['0xd08', ['-mcpu=cortex-a72']], ['0xd09', ['-mcpu=cortex-a73']], - ['0xd0a', ['-mcpu=cortex-a75']]] + ['0xd0a', ['-mcpu=cortex-a75']], + ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]] machine_args_cavium = [ ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']], diff --git a/config/defconfig_arm64-n1sdp-linux-gcc b/config/defconfig_arm64-n1sdp-linux-gcc new file mode 120000 index 0000000..103bbea --- /dev/null +++ b/config/defconfig_arm64-n1sdp-linux-gcc @@ -0,0 +1 @@ +defconfig_arm64-n1sdp-linuxapp-gcc \ No newline at end of file diff --git a/config/defconfig_arm64-n1sdp-linuxapp-gcc b/config/defconfig_arm64-n1sdp-linuxapp-gcc new file mode 100644 index 0000000..f913809 --- /dev/null +++ b/config/defconfig_arm64-n1sdp-linuxapp-gcc @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Arm Ltd. +# + +#include "defconfig_arm64-armv8a-linux-gcc" + +CONFIG_RTE_MACHINE="n1sdp" +CONFIG_RTE_MAX_LCORE=4 +CONFIG_RTE_MAX_NUMA_NODES=1 +CONFIG_RTE_CACHE_LINE_SIZE=64 + +# Doesn't support NUMA +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n +CONFIG_RTE_LIBRTE_VHOST_NUMA=n diff --git a/mk/machine/n1sdp/rte.vars.mk b/mk/machine/n1sdp/rte.vars.mk new file mode 100644 index 0000000..6d69de0 --- /dev/null +++ b/mk/machine/n1sdp/rte.vars.mk @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Arm Ltd +# + +# +# 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 = + +include $(RTE_SDK)/mk/rte.helper.mk + +MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto) +MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)