config/arm: add Graviton2
authorVimal Chungath <vcchunga@amazon.com>
Tue, 3 Nov 2020 18:06:45 +0000 (10:06 -0800)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 3 Nov 2020 20:01:02 +0000 (21:01 +0100)
Add meson build configuration for Graviton2 platform
with 64-bit Arm Neoverse N1 cores. This patch makes the
following changes to generic Neoverse N1 config:

1. increase lcore limit to 64
2. increase memory support to 1TB
3. remove +crc from -march as that is default when setting armv8.2

For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/

Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
config/arm/arm64_graviton2_linux_gcc [new file with mode: 0644]
config/arm/meson.build

diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc
new file mode 100644 (file)
index 0000000..022e063
--- /dev/null
@@ -0,0 +1,17 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x41'
+implementor_pn = '0xd0c'
index b49203f..073b4af 100644 (file)
@@ -63,12 +63,6 @@ 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]]
@@ -86,6 +80,16 @@ flags_octeontx2_extra = [
        ['RTE_ARM_FEATURE_ATOMICS', true],
        ['RTE_EAL_IGB_UIO', false],
        ['RTE_USE_C11_MEM_MODEL', true]]
+flags_n1generic_extra = [
+       ['RTE_MACHINE', '"neoverse-n1"'],
+       ['RTE_MAX_LCORE', 64],
+       ['RTE_CACHE_LINE_SIZE', 64],
+       ['RTE_ARM_FEATURE_ATOMICS', true],
+       ['RTE_USE_C11_MEM_MODEL', true],
+       ['RTE_MAX_MEM_MB', 1048576],
+       ['RTE_MAX_NUMA_NODES', 1],
+       ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
+       ['RTE_LIBRTE_VHOST_NUMA', false]]
 
 machine_args_generic = [
        ['default', ['-march=armv8-a+crc', '-moutline-atomics']],
@@ -97,7 +101,7 @@ machine_args_generic = [
        ['0xd09', ['-mcpu=cortex-a73']],
        ['0xd0a', ['-mcpu=cortex-a75']],
        ['0xd0b', ['-mcpu=cortex-a76']],
-       ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]]
+       ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'], flags_n1generic_extra]]
 
 machine_args_cavium = [
        ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],