From 29058550643267a554e0368806dece63b047c5cb Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Mon, 19 Nov 2018 12:59:01 +0000 Subject: New upstream version 18.11-rc4 Change-Id: I861e1a2f7df210f57f44f1ad56b9ef789a4675e3 Signed-off-by: Luca Boccassi --- config/arm/meson.build | 3 +++ config/meson.build | 26 ++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) (limited to 'config') diff --git a/config/arm/meson.build b/config/arm/meson.build index 4b23b395..b7551385 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -89,6 +89,9 @@ if cc.sizeof('void *') != 8 dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) dpdk_conf.set('RTE_ARCH_ARM', 1) dpdk_conf.set('RTE_ARCH_ARMv7', 1) + # the minimum architecture supported, armv7-a, needs the following, + # mk/machine/armv7a/rte.vars.mk sets it too + machine_args += '-mfpu=neon' else dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128) dpdk_conf.set('RTE_ARCH_ARM64', 1) diff --git a/config/meson.build b/config/meson.build index 0b710b79..db32499b 100644 --- a/config/meson.build +++ b/config/meson.build @@ -7,10 +7,32 @@ if meson.is_cross_build() else machine = get_option('machine') endif + +# machine type 'default' is special, it defaults to the per arch agreed common +# minimal baseline needed for DPDK. +# That might not be the most optimized, but the most portable version while +# still being able to support the CPU features required for DPDK. +# This can be bumped up by the DPDK project, but it can never be an +# invariant like 'native' +if machine == 'default' + if host_machine.cpu_family().startswith('x86') + # matches the old pre-meson build systems default + machine = 'corei7' + elif host_machine.cpu_family().startswith('arm') + machine = 'armv7-a' + elif host_machine.cpu_family().startswith('aarch') + # arm64 manages defaults in config/arm/meson.build + machine = 'default' + elif host_machine.cpu_family().startswith('ppc') + machine = 'power8' + endif +endif + dpdk_conf.set('RTE_MACHINE', machine) machine_args = [] -# ppc64 does not support -march=native -if host_machine.cpu_family().startswith('ppc') and machine == 'native' + +# ppc64 does not support -march= at all, use -mcpu and -mtune for that +if host_machine.cpu_family().startswith('ppc') machine_args += '-mcpu=' + machine machine_args += '-mtune=' + machine else -- cgit 1.2.3-korg