Add make configuration for Graviton2 platform with 64-bit ARM Neoverse N1 cores.
Sample build steps: make config T=arm64-graviton2-linux-gcc O=arm64-build make -C arm64-build OR make config T=graviton2 O=arm64-build make -C arm64-build For more information about Graviton2 platform, refer to: https://aws.amazon.com/ec2/graviton/ Signed-off-by: Vimal Chungath <vcchu...@amazon.com> --- config/defconfig_arm64-graviton2-linux-gcc | 1 + config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++ config/defconfig_graviton2 | 1 + mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 120000 config/defconfig_arm64-graviton2-linux-gcc create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc create mode 120000 config/defconfig_graviton2 create mode 100644 mk/machine/graviton2/rte.vars.mk diff --git a/config/defconfig_arm64-graviton2-linux-gcc b/config/defconfig_arm64-graviton2-linux-gcc new file mode 120000 index 000000000..80ac94d54 --- /dev/null +++ b/config/defconfig_arm64-graviton2-linux-gcc @@ -0,0 +1 @@ +defconfig_arm64-graviton2-linuxapp-gcc \ No newline at end of file diff --git a/config/defconfig_arm64-graviton2-linuxapp-gcc b/config/defconfig_arm64-graviton2-linuxapp-gcc new file mode 100644 index 000000000..e99fef307 --- /dev/null +++ b/config/defconfig_arm64-graviton2-linuxapp-gcc @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) Amazon.com, Inc or its affiliates +# + +#include "defconfig_arm64-armv8a-linux-gcc" + +CONFIG_RTE_MACHINE="graviton2" +CONFIG_RTE_MAX_LCORE=64 +CONFIG_RTE_CACHE_LINE_SIZE=64 +CONFIG_RTE_MAX_MEM_MB=1048576 +CONFIG_RTE_MAX_NUMA_NODES=1 +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n +CONFIG_RTE_LIBRTE_VHOST_NUMA=n diff --git a/config/defconfig_graviton2 b/config/defconfig_graviton2 new file mode 120000 index 000000000..80ac94d54 --- /dev/null +++ b/config/defconfig_graviton2 @@ -0,0 +1 @@ +defconfig_arm64-graviton2-linuxapp-gcc \ No newline at end of file diff --git a/mk/machine/graviton2/rte.vars.mk b/mk/machine/graviton2/rte.vars.mk new file mode 100644 index 000000000..acb027968 --- /dev/null +++ b/mk/machine/graviton2/rte.vars.mk @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) Amazon.com, Inc or its affiliates +# + +# +# 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+crypto) -- 2.16.6