[RFC,v3,1/6] build: rename default Arm build to generic-armv8

Message ID 1603280261-20206-2-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Arm build options rework |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Juraj Linkeš Oct. 21, 2020, 11:37 a.m. UTC
  The current machine='default' build name is not descriptive. The actual
default build is machine='native'. Add an alternative string which does
the same build and better describes what we're building:
machine='generic-armv8'. Leave machine='default' for backwards
compatibility.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
 config/arm/meson.build | 31 ++++++++++++++++---------------
 config/meson.build     |  3 ---
 2 files changed, 16 insertions(+), 18 deletions(-)
  

Comments

Bruce Richardson Oct. 21, 2020, 11:52 a.m. UTC | #1
On Wed, Oct 21, 2020 at 01:37:36PM +0200, Juraj Linkeš wrote:
> The current machine='default' build name is not descriptive. The actual
> default build is machine='native'. Add an alternative string which does
> the same build and better describes what we're building:
> machine='generic-armv8'. Leave machine='default' for backwards
> compatibility.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> ---
> config/arm/meson.build | 31 ++++++++++++++++---------------
> config/meson.build     |  3 --- 2 files changed, 16 insertions(+), 18
> deletions(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> b49203fa8..c88e34a2b 100644 --- a/config/arm/meson.build +++
> b/config/arm/meson.build @@ -1,12 +1,13 @@ # SPDX-License-Identifier:
> BSD-3-Clause # Copyright(c) 2017 Intel Corporation.  # Copyright(c) 2017
> Cavium, Inc +# Copyright(c) 2020 PANTHEON.tech s.r.o.
>  
>  # for checking defines we need to use the correct compiler flags
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false -arm_force_default_march = (machine ==
>  'default') +arm_force_generic_march = (machine == 'default' or machine
>  == 'generic-armv8')
>  

Rather than having this just for arm, how about adding "generic" as a
synonym for "default" at the top level, since it probably better describes
what "default" does for all architectures.
  
Juraj Linkeš Oct. 21, 2020, 12:17 p.m. UTC | #2
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Wednesday, October 21, 2020 1:53 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com;
> Phil.Yang@arm.com; vcchunga@amazon.com; Dharmik.Thakkar@arm.com;
> jerinjacobk@gmail.com; hemant.agrawal@nxp.com; dev@dpdk.org
> Subject: Re: [RFC PATCH v3 1/6] build: rename default Arm build to generic-
> armv8
> 
> On Wed, Oct 21, 2020 at 01:37:36PM +0200, Juraj Linkeš wrote:
> > The current machine='default' build name is not descriptive. The
> > actual default build is machine='native'. Add an alternative string
> > which does the same build and better describes what we're building:
> > machine='generic-armv8'. Leave machine='default' for backwards
> > compatibility.
> >
> > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> ---
> > config/arm/meson.build | 31 ++++++++++++++++---------------
> > config/meson.build     |  3 --- 2 files changed, 16 insertions(+), 18
> > deletions(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > b49203fa8..c88e34a2b 100644 --- a/config/arm/meson.build +++
> > b/config/arm/meson.build @@ -1,12 +1,13 @@ # SPDX-License-Identifier:
> > BSD-3-Clause # Copyright(c) 2017 Intel Corporation.  # Copyright(c)
> > 2017 Cavium, Inc +# Copyright(c) 2020 PANTHEON.tech s.r.o.
> >
> >  # for checking defines we need to use the correct compiler flags
> > march_opt = '-march=@0@'.format(machine)
> >
> >  arm_force_native_march = false -arm_force_default_march = (machine ==
> >  'default') +arm_force_generic_march = (machine == 'default' or
> > machine  == 'generic-armv8')
> >
> 
> Rather than having this just for arm, how about adding "generic" as a synonym
> for "default" at the top level, since it probably better describes what "default"
> does for all architectures.

Okay, makes sense. I'll do that in the next version.
  

Patch

diff --git a/config/arm/meson.build b/config/arm/meson.build
index b49203fa8..c88e34a2b 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -1,12 +1,13 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation.
 # Copyright(c) 2017 Cavium, Inc
+# Copyright(c) 2020 PANTHEON.tech s.r.o.
 
 # for checking defines we need to use the correct compiler flags
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
-arm_force_default_march = (machine == 'default')
+arm_force_generic_march = (machine == 'default' or machine == 'generic-armv8')
 
 flags_common_default = [
 	# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
@@ -87,7 +88,7 @@  flags_octeontx2_extra = [
 	['RTE_EAL_IGB_UIO', false],
 	['RTE_USE_C11_MEM_MODEL', true]]
 
-machine_args_generic = [
+machine_args_default = [
 	['default', ['-march=armv8-a+crc', '-moutline-atomics']],
 	['native', ['-march=native']],
 	['0xd03', ['-mcpu=cortex-a53']],
@@ -113,20 +114,20 @@  machine_args_emag = [
 	['native', ['-march=native']]]
 
 ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
-impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
-impl_0x41 = ['Arm', flags_arm, machine_args_generic]
-impl_0x42 = ['Broadcom', flags_generic, machine_args_generic]
+impl_generic = ['Generic armv8', flags_generic, machine_args_default]
+impl_0x41 = ['Arm', flags_arm, machine_args_default]
+impl_0x42 = ['Broadcom', flags_generic, machine_args_default]
 impl_0x43 = ['Cavium', flags_cavium, machine_args_cavium]
-impl_0x44 = ['DEC', flags_generic, machine_args_generic]
-impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
-impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
-impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
+impl_0x44 = ['DEC', flags_generic, machine_args_default]
+impl_0x49 = ['Infineon', flags_generic, machine_args_default]
+impl_0x4d = ['Motorola', flags_generic, machine_args_default]
+impl_0x4e = ['NVIDIA', flags_generic, machine_args_default]
 impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
-impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
-impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
-impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
-impl_0x69 = ['Intel', flags_generic, machine_args_generic]
-impl_dpaa = ['NXP DPAA', flags_dpaa, machine_args_generic]
+impl_0x51 = ['Qualcomm', flags_generic, machine_args_default]
+impl_0x53 = ['Samsung', flags_generic, machine_args_default]
+impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_default]
+impl_0x69 = ['Intel', flags_generic, machine_args_default]
+impl_dpaa = ['NXP DPAA', flags_dpaa, machine_args_default]
 
 dpdk_conf.set('RTE_ARCH_ARM', 1)
 dpdk_conf.set('RTE_FORCE_INTRINSICS', 1)
@@ -145,7 +146,7 @@  else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if arm_force_default_march and not meson.is_cross_build()
+	if arm_force_generic_march and not meson.is_cross_build()
 		machine = impl_generic
 		impl_pn = 'default'
 	elif not meson.is_cross_build()
diff --git a/config/meson.build b/config/meson.build
index 258b01d06..a57c8ae9e 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -80,9 +80,6 @@  if machine == '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