1
0
mirror of https://git.yoctoproject.org/poky synced 2026-04-20 11:28:58 +00:00

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>
This commit is contained in:
Gyorgy Sarvari
2025-07-16 20:40:02 +02:00
committed by Richard Purdie
parent e5cc507a3e
commit fe4e74cbe9
6 changed files with 30 additions and 6 deletions

View File

@@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa75-cortexa55"
TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}"
CPU_TUNE_ARG = "cortex-a75.cortex-a55"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a55"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
require conf/machine/include/arm/arch-armv8-2a.inc

View File

@@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa76-cortexa55"
TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}"
CPU_TUNE_ARG = "cortex-a76.cortex-a55"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a55"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
require conf/machine/include/arm/arch-armv8-2a.inc

View File

@@ -1,7 +1,11 @@
DEFAULTTUNE ?= "cortexa57-cortexa53"
TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=cortex-a57.cortex-a53", "", d)}"
CPU_TUNE_ARG = "cortex-a57.cortex-a53"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}"
require conf/machine/include/arm/arch-armv8a.inc

View File

@@ -1,7 +1,11 @@
DEFAULTTUNE ?= "cortexa72-cortexa53"
TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}"
CPU_TUNE_ARG = "cortex-a72.cortex-a53"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}"
require conf/machine/include/arm/arch-armv8a.inc

View File

@@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa35"
TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=cortex-a73.cortex-a35", "", d)}"
CPU_TUNE_ARG = "cortex-a73.cortex-a35"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a35"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
require conf/machine/include/arm/arch-armv8a.inc

View File

@@ -2,7 +2,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa53"
TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}"
CPU_TUNE_ARG = "cortex-a73.cortex-a53"
# clang doesn't support big.LITTLE tunes, select the LITTLE tune
CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
require conf/machine/include/arm/arch-armv8a.inc