Hi, On 21 November 2016 at 07:02, Herve Jourdain <[email protected]> wrote: > 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...
There is a clear statement that _currently_ there is no soft / softfp ABI for AArch64. For armv8-a compliant hardware it must have NEON. But, still, one _can_ compile for aarch32-mode on armv8-a in soft or softp float-abi, and it will run. There is no statement that armv8-a can't use soft or soft-fp ABI from armv7-a. > 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 Cheers, -- Fathi Boudra Linaro.org | Open source software for ARM SoCs -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
