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']],
        ['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]
 
--- /dev/null
+# 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
 
--- /dev/null
+# 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)