[2/2] config: add Graviton2(arm64) defconfig

Message ID 20200909011109.2048-3-vcchunga@amazon.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series build: add Graviton2(arm64) config |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Vimal Chungath Sept. 9, 2020, 1:11 a.m. UTC
  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 <vcchunga@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
  

Patch

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)