# ['RTE_ARM64_MEMCPY_ALIGN_MASK', 0xF],
# ['RTE_ARM64_MEMCPY_STRICT_ALIGN', false],
- ['RTE_SCHED_VECTOR', false],
['RTE_ARM_USE_WFE', false],
['RTE_ARCH_ARM64', true],
['RTE_CACHE_LINE_SIZE', 128]
['RTE_ARCH_ARM_NEON_MEMCPY', false],
['RTE_ARCH_STRICT_ALIGN', true],
['RTE_ARCH_ARMv8_AARCH32', true],
+ ['RTE_ARCH', 'armv8_aarch32'],
['RTE_CACHE_LINE_SIZE', 64]
]
}
'flags': flags_part_number_thunderx
},
'0xa3': {
- 'compiler_options': ['-mcpu=thunderxt83'],
+ 'compiler_options': ['-march=armv8-a+crc', '-mcpu=thunderxt83'],
'flags': flags_part_number_thunderx
},
'0xaf': {
'implementer' : '0x41',
'flags': [
['RTE_MAX_LCORE', 24],
- ['RTE_MAX_NUMA_NODES', 1]
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MEMPOOL_ALIGN', 128]
],
'part_number': '0xd49',
'extra_march_features': ['crypto'],
- 'numa': false
+ 'numa': false,
+ 'sve_acle': false
}
soc_dpaa = {
'part_number': '0xa1'
}
+soc_thunderxt83 = {
+ 'description': 'Marvell ThunderX T83',
+ 'implementer': '0x43',
+ 'part_number': '0xa3'
+}
+
'''
Start of SoCs list
generic: Generic un-optimized build for armv8 aarch64 execution mode.
stingray: Broadcom Stingray
thunderx2: Marvell ThunderX2 T99
thunderxt88: Marvell ThunderX T88
+thunderxt83: Marvell ThunderX T83
End of SoCs list
'''
# The string above is included in the documentation, keep it in sync with the
'n2': soc_n2,
'stingray': soc_stingray,
'thunderx2': soc_thunderx2,
- 'thunderxt88': soc_thunderxt88
+ 'thunderxt88': soc_thunderxt88,
+ 'thunderxt83': soc_thunderxt83,
}
dpdk_conf.set('RTE_ARCH_ARM', 1)
else
# armv7 build
dpdk_conf.set('RTE_ARCH_ARMv7', true)
+ dpdk_conf.set('RTE_ARCH', 'armv7')
+ dpdk_conf.set('RTE_MAX_LCORE', 128)
+ dpdk_conf.set('RTE_MAX_NUMA_NODES', 1)
# the minimum architecture supported, armv7-a, needs the following,
machine_args += '-mfpu=neon'
endif
else
# armv8 build
+ dpdk_conf.set('RTE_ARCH', 'armv8')
update_flags = true
soc_config = {}
if not meson.is_cross_build()
# 'Primary Part number', 'Revision']
detect_vendor = find_program(join_paths(meson.current_source_dir(),
'armv8_machine.py'))
- cmd = run_command(detect_vendor.path())
+ cmd = run_command(detect_vendor.path(), check: false)
if cmd.returncode() == 0
cmd_output = cmd.stdout().to_lower().strip().split(' ')
implementer_id = cmd_output[0]
if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != ''
compile_time_cpuflags += ['RTE_CPUFLAG_SVE']
- if (cc.check_header('arm_sve.h'))
+ if (cc.check_header('arm_sve.h') and soc_config.get('sve_acle', true))
dpdk_conf.set('RTE_HAS_SVE_ACLE', 1)
endif
endif