aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-12-15 20:55:06 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-12-18 13:31:20 +0000
commit14cf68a48a2ef95c214e445e96c25f0dd90f7aac (patch)
tree8c976cde5b985d9c02930b17d9337e56adfb9c72
parent56d7526475873c456f3155d680789af03a4c9e73 (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
-rw-r--r--meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_beagleplay.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_j721e-evm.inc2
-rw-r--r--meta-agl-core/conf/distro/include/aarch64-tune.inc3
-rw-r--r--meta-agl-core/conf/distro/include/arm-tune.inc10
-rw-r--r--meta-agl-core/conf/distro/include/riscv64-tune.inc3
-rw-r--r--meta-agl-core/conf/distro/include/x86_64-tune.inc3
-rw-r--r--meta-agl-core/conf/distro/poky-agl.conf4
8 files changed, 17 insertions, 12 deletions
diff --git a/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
index 50ef7f036..1e03b70ff 100644
--- a/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
+++ b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
@@ -1,6 +1,6 @@
# beaglebone-ai64 has a k3r5 BBMULTICONFIG to build its bootloader
# and firmware, need to use an override to set DEFAULTTUNE back to
# what that machine configuration needs.
-DEFAULTTUNE:k3r5 = "armv7athf"
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_beagleplay.inc b/meta-agl-bsp/conf/include/agl_beagleplay.inc
index 5835c8b4e..77b669bb7 100644
--- a/meta-agl-bsp/conf/include/agl_beagleplay.inc
+++ b/meta-agl-bsp/conf/include/agl_beagleplay.inc
@@ -1,6 +1,6 @@
# beagleplay has a k3r5 BBMULTICONFIG to build its bootloader
# and firmware, need to use an override to set DEFAULTTUNE back to
# what that machine configuration needs.
-DEFAULTTUNE:k3r5 = "armv7athf"
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_j721e-evm.inc b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
index c0195f183..963b5697d 100644
--- a/meta-agl-bsp/conf/include/agl_j721e-evm.inc
+++ b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
@@ -1,7 +1,7 @@
# j721e-evm has a k3r5 BBMULTICONFIG to build its bootloader
# firmware, need to use an override to set DEFAULTTUNE back to
# what that machine configuration needs.
-DEFAULTTUNE:k3r5 = "armv7athf"
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
# Workaround for recipe assumption of poky location
LIC_FILES_CHKSUM:pn-ti-rtos-firmware = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
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}"