Re: [OE-core] [PATCH V2] armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH

2020-06-10 Thread Khem Raj
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

2020-06-09 Thread Alejandro Hernandez
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

2020-05-26 Thread Khem Raj
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"