Re: [OE-core] [PATCH V2] armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH
On Tue, Jun 9, 2020 at 12:30 AM Alejandro Enedino Hernandez Samaniego wrote: > > Hello Khem, > > > On Tue, 26 May 2020 at 16:10, Khem Raj wrote: >> >> The setting is to modify TUNE_PKGARCH which is filled with >> TUNE_PKGARCH_64 or TUNE_PKGARCH_32 in arm-arch64.inc >> This lets higher up tune files for arm64 SOCs override them if needed, >> this can help building multiple armv8 machines with different tunes in >> same workspace. >> >> No need to set TUNE_PKGARCH in tune files as it is synthesized from >> ARMPKGARCH >> >> Add ARMPKGARCH for aarch64 tunes >> >> Signed-off-by: Khem Raj >> Signed-off-by: Richard Purdie >> --- >> v2: Differentiate triplet for crypto feature >> >> meta/conf/machine/include/arm/arch-arm64.inc | 4 +++- >> meta/conf/machine/include/tune-cortexa53.inc | 5 + >> meta/conf/machine/include/tune-cortexa55.inc | 1 - >> meta/conf/machine/include/tune-cortexa57-cortexa53.inc | 1 - >> meta/conf/machine/include/tune-cortexa57.inc | 4 +--- >> meta/conf/machine/include/tune-cortexa72-cortexa53.inc | 4 +--- >> meta/conf/machine/include/tune-cortexa72.inc | 1 - >> meta/conf/machine/include/tune-cortexa73-cortexa53.inc | 4 +--- >> 8 files changed, 7 insertions(+), 17 deletions(-) >> >> diff --git a/meta/conf/machine/include/arm/arch-arm64.inc >> b/meta/conf/machine/include/arm/arch-arm64.inc >> index 53f4566815..6d5b22fff0 100644 >> --- a/meta/conf/machine/include/arm/arch-arm64.inc >> +++ b/meta/conf/machine/include/arm/arch-arm64.inc >> @@ -12,6 +12,8 @@ ARMPKGARCH_tune-aarch64 ?= "aarch64" >> ARMPKGARCH_tune-aarch64_be ?= "aarch64_be" >> TUNE_FEATURES_tune-aarch64 = "aarch64" >> TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian" >> +TUNE_PKGARCH_64_tune-aarch64 = "aarch64" >> +TUNE_PKGARCH_64_tune-aarch64_be = "aarch64_be" > > > > I'm trying to accommodate my machines to the TUNE_PKGARCH changes and I'm a > bit confused by looking at the way these variables are now set. > > The way these overrides are behaving, is this meant to be desired behavior? > > # $TUNE_PKGARCH [9 operations] > ... > override[64_tune-aarch64]:set > /poky/meta/conf/machine/include/arm/arch-arm64.inc:15 > # "aarch64" > # override[64_tune-aarch64_be]:set > /oky/meta/conf/machine/include/arm/arch-arm64.inc:16 > # "aarch64_be" > > Is the 64_tune_aarch64 meant to be an override for TUNE_PKGARCH or is that > supposed to be set for the TUNE_PKGARCH_64 variable instead? > TUNE_PKGARCH_64 is fed into TUNE_PKGARCH but we want to ensure that TUNE_PKGARCH_64 can accommodate the SOC specific tune name. > Cheers, > > Alejandro > > > > >> >> BASE_LIB_tune-aarch64 = "lib64" >> BASE_LIB_tune-aarch64_be = "lib64" >> >> @@ -20,7 +22,7 @@ PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be" >> >> ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', >> '_be', '', d)}" >> TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" >> -TUNE_PKGARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" >> +TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}" >> ABIEXTENSION_64 = "" >> TARGET_FPU_64 = "" >> >> diff --git a/meta/conf/machine/include/tune-cortexa53.inc >> b/meta/conf/machine/include/tune-cortexa53.inc >> index b7327d00c4..c0bb28a19e 100644 >> --- a/meta/conf/machine/include/tune-cortexa53.inc >> +++ b/meta/conf/machine/include/tune-cortexa53.inc >> @@ -8,14 +8,11 @@ require conf/machine/include/arm/arch-armv8a.inc >> # Little Endian base configs >> AVAILTUNES += "cortexa53 cortexa53-crypto" >> ARMPKGARCH_tune-cortexa53 = "cortexa53" >> -ARMPKGARCH_tune-cortexa53-crypto = "cortexa53" >> +ARMPKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" >> TUNE_FEATURES_tune-cortexa53 = "aarch64 cortexa53 crc" >> TUNE_FEATURES_tune-cortexa53-crypto = "aarch64 cortexa53 crc crypto" >> PACKAGE_EXTRA_ARCHS_tune-cortexa53 = >> "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53" >> PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto = >> "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto" >> >> -TUNE_PKGARCH_tune-cortexa53 = "cortexa53" >> -TUNE_PKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" >> - >> BASE_LIB_tune-cortexa53 = "lib64" >> BASE_LIB_tune-cortexa53-crypto= "lib64" >> diff --git a/meta/conf/machine/include/tune-cortexa55.inc >> b/meta/conf/machine/include/tune-cortexa55.inc >> index 274944819e..89032b59ec 100644 >> --- a/meta/conf/machine/include/tune-cortexa55.inc >> +++ b/meta/conf/machine/include/tune-cortexa55.inc >> @@ -9,6 +9,5 @@ require conf/machine/include/arm/arch-armv8a.inc >> AVAILTUNES += "cortexa55" >> ARMPKGARCH_tune-cortexa55 = "cortexa55" >> TUNE_FEATURES_tune-cortexa55 = "aarch64 cortexa55 crc crypto" >> -TUNE_PKGARCH_tune-cortexa55 = "cortexa55" >> PACKAGE_EXTRA_ARCHS_tune-cortexa55= >> "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa55" >> BASE_LIB_tune-cortexa55
Re: [OE-core] [PATCH V2] armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH
Hello Khem, On Tue, 26 May 2020 at 16:10, Khem Raj wrote: > The setting is to modify TUNE_PKGARCH which is filled with > TUNE_PKGARCH_64 or TUNE_PKGARCH_32 in arm-arch64.inc > This lets higher up tune files for arm64 SOCs override them if needed, > this can help building multiple armv8 machines with different tunes in > same workspace. > > No need to set TUNE_PKGARCH in tune files as it is synthesized from > ARMPKGARCH > > Add ARMPKGARCH for aarch64 tunes > > Signed-off-by: Khem Raj > Signed-off-by: Richard Purdie > --- > v2: Differentiate triplet for crypto feature > > meta/conf/machine/include/arm/arch-arm64.inc | 4 +++- > meta/conf/machine/include/tune-cortexa53.inc | 5 + > meta/conf/machine/include/tune-cortexa55.inc | 1 - > meta/conf/machine/include/tune-cortexa57-cortexa53.inc | 1 - > meta/conf/machine/include/tune-cortexa57.inc | 4 +--- > meta/conf/machine/include/tune-cortexa72-cortexa53.inc | 4 +--- > meta/conf/machine/include/tune-cortexa72.inc | 1 - > meta/conf/machine/include/tune-cortexa73-cortexa53.inc | 4 +--- > 8 files changed, 7 insertions(+), 17 deletions(-) > > diff --git a/meta/conf/machine/include/arm/arch-arm64.inc > b/meta/conf/machine/include/arm/arch-arm64.inc > index 53f4566815..6d5b22fff0 100644 > --- a/meta/conf/machine/include/arm/arch-arm64.inc > +++ b/meta/conf/machine/include/arm/arch-arm64.inc > @@ -12,6 +12,8 @@ ARMPKGARCH_tune-aarch64 ?= "aarch64" > ARMPKGARCH_tune-aarch64_be ?= "aarch64_be" > TUNE_FEATURES_tune-aarch64 = "aarch64" > TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian" > +TUNE_PKGARCH_64_tune-aarch64 = "aarch64" > +TUNE_PKGARCH_64_tune-aarch64_be = "aarch64_be" > I'm trying to accommodate my machines to the TUNE_PKGARCH changes and I'm a bit confused by looking at the way these variables are now set. The way these overrides are behaving, is this meant to be desired behavior? # $TUNE_PKGARCH [9 operations] ... override[64_tune-aarch64]:set /poky/meta/conf/machine/include/arm/arch-arm64.inc:15 # "aarch64" # override[64_tune-aarch64_be]:set /oky/meta/conf/machine/include/arm/arch-arm64.inc:16 # "aarch64_be" Is the 64_tune_aarch64 meant to be an override for TUNE_PKGARCH or is that supposed to be set for the TUNE_PKGARCH_64 variable instead? Cheers, Alejandro > BASE_LIB_tune-aarch64 = "lib64" > BASE_LIB_tune-aarch64_be = "lib64" > > @@ -20,7 +22,7 @@ PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be" > > ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', > '_be', '', d)}" > TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" > -TUNE_PKGARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" > +TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}" > ABIEXTENSION_64 = "" > TARGET_FPU_64 = "" > > diff --git a/meta/conf/machine/include/tune-cortexa53.inc > b/meta/conf/machine/include/tune-cortexa53.inc > index b7327d00c4..c0bb28a19e 100644 > --- a/meta/conf/machine/include/tune-cortexa53.inc > +++ b/meta/conf/machine/include/tune-cortexa53.inc > @@ -8,14 +8,11 @@ require conf/machine/include/arm/arch-armv8a.inc > # Little Endian base configs > AVAILTUNES += "cortexa53 cortexa53-crypto" > ARMPKGARCH_tune-cortexa53 = "cortexa53" > -ARMPKGARCH_tune-cortexa53-crypto = "cortexa53" > +ARMPKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" > TUNE_FEATURES_tune-cortexa53 = "aarch64 cortexa53 crc" > TUNE_FEATURES_tune-cortexa53-crypto = "aarch64 cortexa53 crc crypto" > PACKAGE_EXTRA_ARCHS_tune-cortexa53 = > "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53" > PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto = > "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto" > > -TUNE_PKGARCH_tune-cortexa53 = "cortexa53" > -TUNE_PKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" > - > BASE_LIB_tune-cortexa53 = "lib64" > BASE_LIB_tune-cortexa53-crypto= "lib64" > diff --git a/meta/conf/machine/include/tune-cortexa55.inc > b/meta/conf/machine/include/tune-cortexa55.inc > index 274944819e..89032b59ec 100644 > --- a/meta/conf/machine/include/tune-cortexa55.inc > +++ b/meta/conf/machine/include/tune-cortexa55.inc > @@ -9,6 +9,5 @@ require conf/machine/include/arm/arch-armv8a.inc > AVAILTUNES += "cortexa55" > ARMPKGARCH_tune-cortexa55 = "cortexa55" > TUNE_FEATURES_tune-cortexa55 = "aarch64 cortexa55 crc crypto" > -TUNE_PKGARCH_tune-cortexa55 = "cortexa55" > PACKAGE_EXTRA_ARCHS_tune-cortexa55= > "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa55" > BASE_LIB_tune-cortexa55 = "lib64" > diff --git a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc > b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc > index b95d63e86b..ba4b073852 100644 > --- a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc > +++ b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc > @@ -11,6 +11,5 @@ require
[OE-core] [PATCH V2] armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH
The setting is to modify TUNE_PKGARCH which is filled with TUNE_PKGARCH_64 or TUNE_PKGARCH_32 in arm-arch64.inc This lets higher up tune files for arm64 SOCs override them if needed, this can help building multiple armv8 machines with different tunes in same workspace. No need to set TUNE_PKGARCH in tune files as it is synthesized from ARMPKGARCH Add ARMPKGARCH for aarch64 tunes Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- v2: Differentiate triplet for crypto feature meta/conf/machine/include/arm/arch-arm64.inc | 4 +++- meta/conf/machine/include/tune-cortexa53.inc | 5 + meta/conf/machine/include/tune-cortexa55.inc | 1 - meta/conf/machine/include/tune-cortexa57-cortexa53.inc | 1 - meta/conf/machine/include/tune-cortexa57.inc | 4 +--- meta/conf/machine/include/tune-cortexa72-cortexa53.inc | 4 +--- meta/conf/machine/include/tune-cortexa72.inc | 1 - meta/conf/machine/include/tune-cortexa73-cortexa53.inc | 4 +--- 8 files changed, 7 insertions(+), 17 deletions(-) diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc index 53f4566815..6d5b22fff0 100644 --- a/meta/conf/machine/include/arm/arch-arm64.inc +++ b/meta/conf/machine/include/arm/arch-arm64.inc @@ -12,6 +12,8 @@ ARMPKGARCH_tune-aarch64 ?= "aarch64" ARMPKGARCH_tune-aarch64_be ?= "aarch64_be" TUNE_FEATURES_tune-aarch64 = "aarch64" TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian" +TUNE_PKGARCH_64_tune-aarch64 = "aarch64" +TUNE_PKGARCH_64_tune-aarch64_be = "aarch64_be" BASE_LIB_tune-aarch64 = "lib64" BASE_LIB_tune-aarch64_be = "lib64" @@ -20,7 +22,7 @@ PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be" ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}" TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" -TUNE_PKGARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" +TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}" ABIEXTENSION_64 = "" TARGET_FPU_64 = "" diff --git a/meta/conf/machine/include/tune-cortexa53.inc b/meta/conf/machine/include/tune-cortexa53.inc index b7327d00c4..c0bb28a19e 100644 --- a/meta/conf/machine/include/tune-cortexa53.inc +++ b/meta/conf/machine/include/tune-cortexa53.inc @@ -8,14 +8,11 @@ require conf/machine/include/arm/arch-armv8a.inc # Little Endian base configs AVAILTUNES += "cortexa53 cortexa53-crypto" ARMPKGARCH_tune-cortexa53 = "cortexa53" -ARMPKGARCH_tune-cortexa53-crypto = "cortexa53" +ARMPKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" TUNE_FEATURES_tune-cortexa53 = "aarch64 cortexa53 crc" TUNE_FEATURES_tune-cortexa53-crypto = "aarch64 cortexa53 crc crypto" PACKAGE_EXTRA_ARCHS_tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53" PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto" -TUNE_PKGARCH_tune-cortexa53 = "cortexa53" -TUNE_PKGARCH_tune-cortexa53-crypto = "cortexa53-crypto" - BASE_LIB_tune-cortexa53 = "lib64" BASE_LIB_tune-cortexa53-crypto= "lib64" diff --git a/meta/conf/machine/include/tune-cortexa55.inc b/meta/conf/machine/include/tune-cortexa55.inc index 274944819e..89032b59ec 100644 --- a/meta/conf/machine/include/tune-cortexa55.inc +++ b/meta/conf/machine/include/tune-cortexa55.inc @@ -9,6 +9,5 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa55" ARMPKGARCH_tune-cortexa55 = "cortexa55" TUNE_FEATURES_tune-cortexa55 = "aarch64 cortexa55 crc crypto" -TUNE_PKGARCH_tune-cortexa55 = "cortexa55" PACKAGE_EXTRA_ARCHS_tune-cortexa55= "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa55" BASE_LIB_tune-cortexa55 = "lib64" diff --git a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc index b95d63e86b..ba4b073852 100644 --- a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc +++ b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc @@ -11,6 +11,5 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa57-cortexa53" ARMPKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53" TUNE_FEATURES_tune-cortexa57-cortexa53 = "aarch64 cortexa57-cortexa53" -TUNE_PKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53" PACKAGE_EXTRA_ARCHS_tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa57-cortexa53" BASE_LIB_tune-cortexa57-cortexa53 = "lib64" diff --git a/meta/conf/machine/include/tune-cortexa57.inc b/meta/conf/machine/include/tune-cortexa57.inc index e8ddeb5786..0811d503cc 100644 --- a/meta/conf/machine/include/tune-cortexa57.inc +++ b/meta/conf/machine/include/tune-cortexa57.inc @@ -8,12 +8,10 @@ require conf/machine/include/arm/arch-armv8a.inc # Little Endian base configs AVAILTUNES += "cortexa57 cortexa57-crypto" ARMPKGARCH_tune-cortexa57 = "cortexa57"