config: add Arm Neoverse N1 SDP

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 <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
Gavin Hu 2019-11-11 13:41:50 +08:00 committed by Thomas Monjalon
parent 3dd4330457
commit 47921954e3
5 changed files with 73 additions and 1 deletions

View file

@ -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'

View file

@ -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']],

View file

@ -0,0 +1 @@
defconfig_arm64-n1sdp-linuxapp-gcc

View file

@ -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

View file

@ -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)