Hi Khem,

It does cover all the possibilities in armv8 (3 possible FPU and 2 possible 
options - crc and crypto).
So if we want to be exhaustive, we probably need something similar.
If we just want to support cortex-a53, then we can trim a bit.

I was not aware of the Axxia work, it could also be used in oe-core instead of 
my patch, actually.
But if you check what they did, they do define nearly as many - with the 
exception of the softfloat option, in their case aarch32 is always hf. That's a 
possibility that could be considered, but I initially tried to provide as much 
"features" for aarch32 as there was for armv7ve - including the option to do 
softfloat...

Please let me know what you'd like me to do, amend my patch to remove softfloat 
cases, or just get the axxia patches into oe-core, or something else?

Herve

-----Original Message-----
From: Khem Raj [mailto:[email protected]] 
Sent: dimanche 20 novembre 2016 20:37
To: Herve Jourdain <[email protected]>
Cc: Patches and discussions about the oe-core layer 
<[email protected]>
Subject: Re: [OE-core] [oe-core][PATCH v3 2/3] arch-armv8.inc: add support for 
32bits armv8 options

I dont think we need these many variats for v8, axxia has been carrying such 
patches locally.
see
https://github.com/axxia/meta-axxia/tree/master/conf/machine/include

On Sun, Nov 20, 2016 at 4:10 AM, Herve Jourdain <[email protected]> wrote:
> Signed-off-by: Herve Jourdain <[email protected]>
> ---
>  meta/conf/machine/include/arm/arch-armv8.inc | 60 
> ++++++++++++++++++++++++++++
>  1 file changed, 60 insertions(+)
>
> diff --git a/meta/conf/machine/include/arm/arch-armv8.inc 
> b/meta/conf/machine/include/arm/arch-armv8.inc
> index 5e832fa..8c96efc 100644
> --- a/meta/conf/machine/include/arm/arch-armv8.inc
> +++ b/meta/conf/machine/include/arm/arch-armv8.inc
> @@ -1 +1,61 @@
>  require conf/machine/include/arm/arch-arm64.inc
> +
> +TUNEVALID[armv8] = "Enable instructions for ARMv8"
> +TUNECONFLICTS[armv8] = "armv4 armv5 armv6 armv7 armv7a armv7ve"
> +
> +TUNE_CCARGS .= \
> +"${@' -march=armv8-a+crypto+crc' if 
> +bb.utils.contains('TUNE_FEATURES', [ 'armv8', 'cryptov8', 'crcv8' ], 
> +True, False, d) else\ ' -march=armv8-a+crypto' if 
> +bb.utils.contains('TUNE_FEATURES', [ 'armv8', 'cryptov8' ], True, False, d) 
> else\ ' -march=armv8-a+crc' if bb.utils.contains('TUNE_FEATURES', [ 'armv8', 
> 'crcv8' ], True, False, d) else \ bb.utils.contains('TUNE_FEATURES', 'armv8', 
> ' -march=armv8-a', '', d)}"
> +
> +TUNE_CCARGS_MFPU .= \
> +"${@' crypto-neon-fp-armv8' if bb.utils.contains('TUNE_FEATURES', [ 
> +'armv8', 'neon', 'cryptov8' ], True, False, d) else \ ' 
> +neon-fp-armv8' if bb.utils.contains('TUNE_FEATURES', [ 'armv8', 'neon' ], 
> True, False, d) else \ bb.utils.contains('TUNE_FEATURES', [ 'armv8' ], ' 
> fp-armv8', '', d)}"
> +
> +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8', 
> 'armv8:', '' ,d)}"
> +
> +AVAILTUNES += "armv8 armv8-crypto armv8-crc armv8-crypto-crc"
> +TUNE_FEATURES_tune-armv8 = "armv8"
> +TUNE_FEATURES_tune-armv8-crypto = "${TUNE_FEATURES_tune-armv8} cryptov8"
> +TUNE_FEATURES_tune-armv8-crc = "${TUNE_FEATURES_tune-armv8} crcv8"
> +TUNE_FEATURES_tune-armv8-crypto-crc = "${TUNE_FEATURES_tune-armv8} cryptov8 
> crcv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8 = "armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8} 
> armv8-crypto"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8} 
> armv8-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-crypto-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8} armv8-crypto-crc"
> +
> +AVAILTUNES += "armv8-neon armv8-neon-crypto armv8-neon-crc 
> armv8-neon-crypto-crc"
> +TUNE_FEATURES_tune-armv8-neon = "${TUNE_FEATURES_tune-armv8} neon"
> +TUNE_FEATURES_tune-armv8-neon-crypto = "${TUNE_FEATURES_tune-armv8-crypto} 
> neon"
> +TUNE_FEATURES_tune-armv8-neon-crc = "${TUNE_FEATURES_tune-armv8-crc} neon"
> +TUNE_FEATURES_tune-armv8-neon-crypto-crc = 
> "${TUNE_FEATURES_tune-armv8-crypto-crc} neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8} 
> armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crypto = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8-crypto} armv8-neon-crypto"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8-crc} armv8-neon-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crypto-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8-crypto-crc} armv8-neon-crypto-crc"
> +
> +AVAILTUNES += "armv8hf armv8hf-crypto armv8hf-crc armv8hf-crypto-crc"
> +TUNE_FEATURES_tune-armv8hf = "${TUNE_FEATURES_tune-armv8} 
> callconvention-hard"
> +TUNE_FEATURES_tune-armv8hf-crypto = "${TUNE_FEATURES_tune-armv8-crypto} 
> callconvention-hard"
> +TUNE_FEATURES_tune-armv8hf-crc = "${TUNE_FEATURES_tune-armv8-crc} 
> callconvention-hard"
> +TUNE_FEATURES_tune-armv8hf-crypto-crc = 
> "${TUNE_FEATURES_tune-armv8-crypto-crc} callconvention-hard"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf = "armv8hf"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-crypto = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8hf} armv8hf-crypto"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf} 
> armv8hf-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-crypto-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8hf} armv8hf-crypto-crc"
> +
> +AVAILTUNES += "armv8hf-neon armv8hf-neon-crypto armv8hf-neon-crc 
> armv8hf-neon-crypto-crc"
> +TUNE_FEATURES_tune-armv8hf-neon = "${TUNE_FEATURES_tune-armv8hf} neon"
> +TUNE_FEATURES_tune-armv8hf-neon-crypto = 
> "${TUNE_FEATURES_tune-armv8hf-crypto} neon"
> +TUNE_FEATURES_tune-armv8hf-neon-crc = "${TUNE_FEATURES_tune-armv8hf-crc} 
> neon"
> +TUNE_FEATURES_tune-armv8hf-neon-crypto-crc = 
> "${TUNE_FEATURES_tune-armv8hf-crypto-crc} neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf} 
> armv8hf-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crypto = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-crypto} armv8hf-neon-crypto"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-crc} armv8hf-neon-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crypto-crc = 
> "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-crypto-crc} armv8hf-neon-crypto-crc"
> +
> +TUNEVALID[cryptov8] = "Enable armv8 crypto extensions"
> +TUNEVALID[crcv8] = "Enable armv8 crc extensions"
> +
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to