diff options
| author | Gyorgy Sarvari <skandigraun@gmail.com> | 2025-07-16 20:40:02 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-07-21 23:00:18 +0100 |
| commit | fe4e74cbe94d0b7d17ab518142e02bd94a864a34 (patch) | |
| tree | 6be65f5ba2c6d64210c5cb32acf7c13542671833 | |
| parent | e5cc507a3e35c894da3db1dd06b7e7e20e4522fa (diff) | |
| download | poky-fe4e74cbe94d0b7d17ab518142e02bd94a864a34.tar.gz | |
tunes: set valid clang tune for big.LITTLE Arm SoCs
clang doesn't have Arm big.LITTLE specific tune options - when such an option is used,
the compilation fails with an error like this:
aarch64-poky-linux-clang: error: unsupported argument 'cortex-a72.cortex-a53+crc+crypto' to option '-mcpu='
To avoid this, in case a big.LITTLE SoC is the target and the toolchain is clang, select
the tune corresponding to the LITTLE core.
(From OE-Core rev: 12c820f624730a04a17ae2cdbecc4e6987c45cf7)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 files changed, 30 insertions, 6 deletions
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc index e18b2cb6e0..6b9b541f9a 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc | |||
| @@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa75-cortexa55" | |||
| 5 | 5 | ||
| 6 | TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations" | 6 | TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations" |
| 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}" | 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}" |
| 8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}" | 8 | |
| 9 | CPU_TUNE_ARG = "cortex-a75.cortex-a55" | ||
| 10 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 11 | CPU_TUNE_ARG:toolchain-clang = "cortex-a55" | ||
| 12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 9 | 13 | ||
| 10 | require conf/machine/include/arm/arch-armv8-2a.inc | 14 | require conf/machine/include/arm/arch-armv8-2a.inc |
| 11 | 15 | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc index 7daf9d91a8..8195782cd9 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc | |||
| @@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa76-cortexa55" | |||
| 5 | 5 | ||
| 6 | TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations" | 6 | TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations" |
| 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}" | 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}" |
| 8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}" | 8 | |
| 9 | CPU_TUNE_ARG = "cortex-a76.cortex-a55" | ||
| 10 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 11 | CPU_TUNE_ARG:toolchain-clang = "cortex-a55" | ||
| 12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 9 | 13 | ||
| 10 | require conf/machine/include/arm/arch-armv8-2a.inc | 14 | require conf/machine/include/arm/arch-armv8-2a.inc |
| 11 | 15 | ||
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc index 052d1173c9..ee86c1c84b 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc | |||
| @@ -1,7 +1,11 @@ | |||
| 1 | DEFAULTTUNE ?= "cortexa57-cortexa53" | 1 | DEFAULTTUNE ?= "cortexa57-cortexa53" |
| 2 | 2 | ||
| 3 | TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations" | 3 | TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations" |
| 4 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=cortex-a57.cortex-a53", "", d)}" | 4 | |
| 5 | CPU_TUNE_ARG = "cortex-a57.cortex-a53" | ||
| 6 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 7 | CPU_TUNE_ARG:toolchain-clang = "cortex-a53" | ||
| 8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 5 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}" | 9 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}" |
| 6 | 10 | ||
| 7 | require conf/machine/include/arm/arch-armv8a.inc | 11 | require conf/machine/include/arm/arch-armv8a.inc |
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc index ff188aec5f..ba92161b9f 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc | |||
| @@ -1,7 +1,11 @@ | |||
| 1 | DEFAULTTUNE ?= "cortexa72-cortexa53" | 1 | DEFAULTTUNE ?= "cortexa72-cortexa53" |
| 2 | 2 | ||
| 3 | TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations" | 3 | TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations" |
| 4 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}" | 4 | |
| 5 | CPU_TUNE_ARG = "cortex-a72.cortex-a53" | ||
| 6 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 7 | CPU_TUNE_ARG:toolchain-clang = "cortex-a53" | ||
| 8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 5 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}" | 9 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}" |
| 6 | 10 | ||
| 7 | require conf/machine/include/arm/arch-armv8a.inc | 11 | require conf/machine/include/arm/arch-armv8a.inc |
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc index 4f4f25f511..370882f299 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc | |||
| @@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa35" | |||
| 5 | 5 | ||
| 6 | TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations" | 6 | TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations" |
| 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}" | 7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}" |
| 8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=cortex-a73.cortex-a35", "", d)}" | 8 | |
| 9 | CPU_TUNE_ARG = "cortex-a73.cortex-a35" | ||
| 10 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 11 | CPU_TUNE_ARG:toolchain-clang = "cortex-a35" | ||
| 12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 9 | 13 | ||
| 10 | require conf/machine/include/arm/arch-armv8a.inc | 14 | require conf/machine/include/arm/arch-armv8a.inc |
| 11 | 15 | ||
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc index 1d152ed83b..388df5fb66 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc | |||
| @@ -2,7 +2,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa53" | |||
| 2 | 2 | ||
| 3 | TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations" | 3 | TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations" |
| 4 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}" | 4 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}" |
| 5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}" | 5 | |
| 6 | CPU_TUNE_ARG = "cortex-a73.cortex-a53" | ||
| 7 | # clang doesn't support big.LITTLE tunes, select the LITTLE tune | ||
| 8 | CPU_TUNE_ARG:toolchain-clang = "cortex-a53" | ||
| 9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}" | ||
| 6 | 10 | ||
| 7 | require conf/machine/include/arm/arch-armv8a.inc | 11 | require conf/machine/include/arm/arch-armv8a.inc |
| 8 | 12 | ||
