config: add thunderx2 machine

Optimized configuration for Marvell thunderx2 SoC.
Updated meson build to support Marvell thunderx2 SoC.
Added meson cross compile target.

Product details are here:

https://www.marvell.com/server-processors/thunderx2-arm-processors/

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
This commit is contained in:
Jerin Jacob 2019-04-14 01:49:45 +05:30 committed by Thomas Monjalon
parent 42c3cd0e6e
commit 7286c9d723
5 changed files with 70 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 = '0x43'
implementor_pn = '0xaf'

View File

@ -54,6 +54,12 @@ flags_default_extra = []
flags_thunderx_extra = [
['RTE_MACHINE', '"thunderx"'],
['RTE_USE_C11_MEM_MODEL', false]]
flags_thunderx2_extra = [
['RTE_MACHINE', '"thunderx2"'],
['RTE_CACHE_LINE_SIZE', 64],
['RTE_MAX_NUMA_NODES', 2],
['RTE_MAX_LCORE', 256],
['RTE_USE_C11_MEM_MODEL', true]]
machine_args_generic = [
['default', ['-march=armv8-a+crc+crypto']],
@ -70,7 +76,8 @@ machine_args_cavium = [
['native', ['-march=native']],
['0xa1', ['-mcpu=thunderxt88'], flags_thunderx_extra],
['0xa2', ['-mcpu=thunderxt81'], flags_thunderx_extra],
['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra]]
['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra],
['0xaf', ['-mcpu=thunderx2t99'], flags_thunderx2_extra]]
## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
impl_generic = ['Generic armv8', flags_generic, machine_args_generic]

View File

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

View File

@ -0,0 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Marvell International Ltd
#
#include "defconfig_arm64-armv8a-linux-gcc"
CONFIG_RTE_MACHINE="thunderx2"
CONFIG_RTE_CACHE_LINE_SIZE=64
CONFIG_RTE_MAX_NUMA_NODES=2
CONFIG_RTE_MAX_LCORE=256

View File

@ -0,0 +1,34 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Marvell International 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.1-a+crc+crypto)
MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)