diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-12-15 20:55:06 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-12-18 13:31:20 +0000 |
commit | 14cf68a48a2ef95c214e445e96c25f0dd90f7aac (patch) | |
tree | 8c976cde5b985d9c02930b17d9337e56adfb9c72 /meta-agl-core/conf/distro | |
parent | 56d7526475873c456f3155d680789af03a4c9e73 (diff) |
Enhance DEFAULTTUNE mechanism
This commit enhances the way we select the DEFAULTTUNE.
DEFAULTTUNE in AGL is meant to be set to either
corei7-64 for x86-64
aarch64 for 64bit ARM
armv7vethf-neon-vfpv4 for 32bit ARM (where applicable)
The reason is that we do want to work towards a binary distro and
also maximize sstate reuse between platforms. Each and every board
having different settings is counter-productive here.
The original setting was done in SPEC-491. See this presentation:
https://docs.google.com/presentation/d/1_VSGfheItufCCP_rbGBDg3-2miCyh02-yZva6m8cyUE
The enhancement is that we introduce a variable 'AGL_DEFAULTTUNE'
that a user could override if he really needs to change the defaults.
Also we introduce OVERRIDES to help support this mechanism
(agldefaulttune, forcedefaulttune).
Bug-AGL: SPEC-491
Bug-AGL: SPEC-5014
Bug-AGL: SPEC-5016
Change-Id: Ia8270b6195116151c27d8da427f0456f38ac95b6
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29541
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Diffstat (limited to 'meta-agl-core/conf/distro')
-rw-r--r-- | meta-agl-core/conf/distro/include/aarch64-tune.inc | 3 | ||||
-rw-r--r-- | meta-agl-core/conf/distro/include/arm-tune.inc | 10 | ||||
-rw-r--r-- | meta-agl-core/conf/distro/include/riscv64-tune.inc | 3 | ||||
-rw-r--r-- | meta-agl-core/conf/distro/include/x86_64-tune.inc | 3 | ||||
-rw-r--r-- | meta-agl-core/conf/distro/poky-agl.conf | 4 |
5 files changed, 14 insertions, 9 deletions
diff --git a/meta-agl-core/conf/distro/include/aarch64-tune.inc b/meta-agl-core/conf/distro/include/aarch64-tune.inc index bf71369db..4628fcaf2 100644 --- a/meta-agl-core/conf/distro/include/aarch64-tune.inc +++ b/meta-agl-core/conf/distro/include/aarch64-tune.inc @@ -4,7 +4,8 @@ # A double inclusion would produce a warning. This include line is just for reference # include conf/machine/include/arm/arch-armv8.inc -DEFAULTTUNE:forcevariable = "aarch64" +AGL_DEFAULTTUNE ?= "aarch64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" # not yet ready #QB_SYSTEM_NAME ?= "qemu-system-aarch" diff --git a/meta-agl-core/conf/distro/include/arm-tune.inc b/meta-agl-core/conf/distro/include/arm-tune.inc index e88f7f398..b3ad64ad7 100644 --- a/meta-agl-core/conf/distro/include/arm-tune.inc +++ b/meta-agl-core/conf/distro/include/arm-tune.inc @@ -7,16 +7,16 @@ # include conf/machine/include/arch/arm-armv7-a.inc # Standard target for 32bit ARM (newer than cortex-a15) -AGLDEFAULTTUNE = "armv7vethf-neon-vfpv4" +ARM_DEFAULTTUNE = "armv7vethf-neon-vfpv4" # for cortex-a8, cortex-a9, cortex-a7 (=rpi 2/3) -AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${AGLDEFAULTTUNE}', d)}" +ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${ARM_DEFAULTTUNE}', d)}" # for armv6 (=rpi0/1) -AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${AGLDEFAULTTUNE}', d)}" +ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${ARM_DEFAULTTUNE}', d)}" -DEFAULTTUNE := "${AGLDEFAULTTUNE}" -DEFAULTTUNE:forcevariable = "${AGLDEFAULTTUNE}" +AGL_DEFAULTTUNE ?= "${ARM_DEFAULTTUNE}" +DEFAULTTUNE:agldefaulttune := "${AGL_DEFAULTTUNE}" QB_SYSTEM_NAME ?= "qemu-system-arm" QB_DEFAULT_KERNEL ?= "zImage" diff --git a/meta-agl-core/conf/distro/include/riscv64-tune.inc b/meta-agl-core/conf/distro/include/riscv64-tune.inc index 1318396fd..981fc4283 100644 --- a/meta-agl-core/conf/distro/include/riscv64-tune.inc +++ b/meta-agl-core/conf/distro/include/riscv64-tune.inc @@ -4,4 +4,5 @@ # A double inclusion would produce a warning. This include line is just for reference # include conf/machine/include/arm/arch-armv8.inc -DEFAULTTUNE:forcevariable = "riscv64" +AGL_DEFAULTTUNE ?= "riscv64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" diff --git a/meta-agl-core/conf/distro/include/x86_64-tune.inc b/meta-agl-core/conf/distro/include/x86_64-tune.inc index bf166e2f8..541b729b6 100644 --- a/meta-agl-core/conf/distro/include/x86_64-tune.inc +++ b/meta-agl-core/conf/distro/include/x86_64-tune.inc @@ -3,7 +3,8 @@ # We should not need the tuning include below as the BSP should include the right set already. # A double inclusion would produce a warning. This include line is just for reference #include conf/machine/include/tune-corei7.inc -DEFAULTTUNE:forcevariable = "corei7-64" +AGL_DEFAULTTUNE ?= "corei7-64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" # shortened copy of tune-corei7.inc due to bug in inclusion for tune-core2.inc # TUNE_ARCH is using .= x86-64 , if done twice, you get x86-64x86-64 as TUNE_ARCH :/ diff --git a/meta-agl-core/conf/distro/poky-agl.conf b/meta-agl-core/conf/distro/poky-agl.conf index bfde782be..0f1fe085d 100644 --- a/meta-agl-core/conf/distro/poky-agl.conf +++ b/meta-agl-core/conf/distro/poky-agl.conf @@ -1,5 +1,8 @@ require conf/distro/poky.conf +# Insert overrides "agldefaulttune" and "forcedefaulttune" before forcevariable +OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}${LIBCOVERRIDE}:agldefaulttune:forcedefaulttune:forcevariable" + # AGL specific derivations DISTRO = "poky-agl" DISTRO_NAME = "Automotive Grade Linux" @@ -16,7 +19,6 @@ AGLRELEASETYPE := "aglrelease" OVERRIDES .= ":${AGLRELEASETYPE}" - #for development DISTRO_VERSION:agldevelopment := "${AGLVERSION}+snapshot-${METADATA_REVISION}" |