* [PATCH v3 0/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits @ 2016-11-20 12:10 Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a Herve Jourdain ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Herve Jourdain @ 2016-11-20 12:10 UTC (permalink / raw) To: openembedded-core Add a tune file for cortexa53, valid for 32 bits and 64 bits It requires adding options in arch-armv8.inc to support 32 bits options Herve Jourdain (3): arch-arm64.inc: include arch-armv7ve instead of arch-armv7a arch-armv8.inc: add support for 32bits armv8 options Add a tune file for cortexa53, valid for 32 bits and 64 bits meta/conf/machine/include/arm/arch-arm64.inc | 2 +- meta/conf/machine/include/arm/arch-armv8.inc | 60 ++++++++++++++++++++++++++++ meta/conf/machine/include/tune-cortexa53.inc | 43 ++++++++++++++++++++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 meta/conf/machine/include/tune-cortexa53.inc -- 2.7.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a 2016-11-20 12:10 [PATCH v3 0/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain @ 2016-11-20 12:10 ` Herve Jourdain 2016-11-20 19:35 ` Khem Raj 2016-11-20 12:10 ` [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2 siblings, 1 reply; 12+ messages in thread From: Herve Jourdain @ 2016-11-20 12:10 UTC (permalink / raw) To: openembedded-core Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> --- meta/conf/machine/include/arm/arch-arm64.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc index 9440698..9eeffac 100644 --- a/meta/conf/machine/include/arm/arch-arm64.inc +++ b/meta/conf/machine/include/arm/arch-arm64.inc @@ -1,6 +1,6 @@ DEFAULTTUNE ?= "aarch64" -require conf/machine/include/arm/arch-armv7a.inc +require conf/machine/include/arm/arch-armv7ve.inc TUNEVALID[aarch64] = "Enable instructions for aarch64" -- 2.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a 2016-11-20 12:10 ` [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a Herve Jourdain @ 2016-11-20 19:35 ` Khem Raj 2016-11-21 5:12 ` Herve Jourdain 0 siblings, 1 reply; 12+ messages in thread From: Khem Raj @ 2016-11-20 19:35 UTC (permalink / raw) To: Herve Jourdain; +Cc: Patches and discussions about the oe-core layer On Sun, Nov 20, 2016 at 4:10 AM, Herve Jourdain <herve.jourdain@neuf.fr> wrote: > Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> > --- > meta/conf/machine/include/arm/arch-arm64.inc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc > index 9440698..9eeffac 100644 > --- a/meta/conf/machine/include/arm/arch-arm64.inc > +++ b/meta/conf/machine/include/arm/arch-arm64.inc > @@ -1,6 +1,6 @@ > DEFAULTTUNE ?= "aarch64" > > -require conf/machine/include/arm/arch-armv7a.inc > +require conf/machine/include/arm/arch-armv7ve.inc This is ok. However a better commit message would be justified. I have similar patch see https://github.com/kraj/openembedded-core/commit/8ece89ac164062601d3418576d51434c69654e28 > > TUNEVALID[aarch64] = "Enable instructions for aarch64" > > -- > 2.7.4 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a 2016-11-20 19:35 ` Khem Raj @ 2016-11-21 5:12 ` Herve Jourdain 2016-11-21 16:36 ` Khem Raj 0 siblings, 1 reply; 12+ messages in thread From: Herve Jourdain @ 2016-11-21 5:12 UTC (permalink / raw) To: 'Khem Raj' Cc: 'Patches and discussions about the oe-core layer' Hi Khem, Do you want me to resubmit the patch with a better commit message? Or do you want to submit yours instead? I'm fine either way. Herve -----Original Message----- From: Khem Raj [mailto:raj.khem@gmail.com] Sent: dimanche 20 novembre 2016 20:35 To: Herve Jourdain <herve.jourdain@neuf.fr> Cc: Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org> Subject: Re: [OE-core] [oe-core][PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a On Sun, Nov 20, 2016 at 4:10 AM, Herve Jourdain <herve.jourdain@neuf.fr> wrote: > Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> > --- > meta/conf/machine/include/arm/arch-arm64.inc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc > index 9440698..9eeffac 100644 > --- a/meta/conf/machine/include/arm/arch-arm64.inc > +++ b/meta/conf/machine/include/arm/arch-arm64.inc > @@ -1,6 +1,6 @@ > DEFAULTTUNE ?= "aarch64" > > -require conf/machine/include/arm/arch-armv7a.inc > +require conf/machine/include/arm/arch-armv7ve.inc This is ok. However a better commit message would be justified. I have similar patch see https://github.com/kraj/openembedded-core/commit/8ece89ac164062601d3418576d51434c69654e28 > > TUNEVALID[aarch64] = "Enable instructions for aarch64" > > -- > 2.7.4 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a 2016-11-21 5:12 ` Herve Jourdain @ 2016-11-21 16:36 ` Khem Raj 0 siblings, 0 replies; 12+ messages in thread From: Khem Raj @ 2016-11-21 16:36 UTC (permalink / raw) To: Herve Jourdain; +Cc: Patches and discussions about the oe-core layer On Sun, Nov 20, 2016 at 9:12 PM, Herve Jourdain <herve.jourdain@neuf.fr> wrote: > Hi Khem, > > Do you want me to resubmit the patch with a better commit message? > Or do you want to submit yours instead? > I'm fine either way. Dont worry I will submit the one in my tree and add your sign off. if you test that out. > > Herve > > -----Original Message----- > From: Khem Raj [mailto:raj.khem@gmail.com] > Sent: dimanche 20 novembre 2016 20:35 > To: Herve Jourdain <herve.jourdain@neuf.fr> > Cc: Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org> > Subject: Re: [OE-core] [oe-core][PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a > > On Sun, Nov 20, 2016 at 4:10 AM, Herve Jourdain <herve.jourdain@neuf.fr> wrote: >> Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> >> --- >> meta/conf/machine/include/arm/arch-arm64.inc | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc >> index 9440698..9eeffac 100644 >> --- a/meta/conf/machine/include/arm/arch-arm64.inc >> +++ b/meta/conf/machine/include/arm/arch-arm64.inc >> @@ -1,6 +1,6 @@ >> DEFAULTTUNE ?= "aarch64" >> >> -require conf/machine/include/arm/arch-armv7a.inc >> +require conf/machine/include/arm/arch-armv7ve.inc > > This is ok. However a better commit message would be justified. > I have similar patch see > > https://github.com/kraj/openembedded-core/commit/8ece89ac164062601d3418576d51434c69654e28 > >> >> TUNEVALID[aarch64] = "Enable instructions for aarch64" >> >> -- >> 2.7.4 >> >> -- >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options 2016-11-20 12:10 [PATCH v3 0/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a Herve Jourdain @ 2016-11-20 12:10 ` Herve Jourdain 2016-11-20 19:37 ` Khem Raj 2016-11-20 12:10 ` [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2 siblings, 1 reply; 12+ messages in thread From: Herve Jourdain @ 2016-11-20 12:10 UTC (permalink / raw) To: openembedded-core Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> --- 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 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options 2016-11-20 12:10 ` [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options Herve Jourdain @ 2016-11-20 19:37 ` Khem Raj 2016-11-21 5:02 ` Herve Jourdain 0 siblings, 1 reply; 12+ messages in thread From: Khem Raj @ 2016-11-20 19:37 UTC (permalink / raw) To: Herve Jourdain; +Cc: Patches and discussions about the oe-core layer 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 <herve.jourdain@neuf.fr> wrote: > Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> > --- > 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 > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options 2016-11-20 19:37 ` Khem Raj @ 2016-11-21 5:02 ` Herve Jourdain 2016-11-21 9:15 ` Fathi Boudra 0 siblings, 1 reply; 12+ messages in thread From: Herve Jourdain @ 2016-11-21 5:02 UTC (permalink / raw) To: 'Khem Raj' Cc: 'Patches and discussions about the oe-core layer' 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:raj.khem@gmail.com] Sent: dimanche 20 novembre 2016 20:37 To: Herve Jourdain <herve.jourdain@neuf.fr> Cc: Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org> 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 <herve.jourdain@neuf.fr> wrote: > Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> > --- > 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 > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options 2016-11-21 5:02 ` Herve Jourdain @ 2016-11-21 9:15 ` Fathi Boudra 2016-11-21 11:05 ` Herve Jourdain 0 siblings, 1 reply; 12+ messages in thread From: Fathi Boudra @ 2016-11-21 9:15 UTC (permalink / raw) To: Herve Jourdain; +Cc: Patches and discussions about the oe-core layer Hi, On 21 November 2016 at 07:02, Herve Jourdain <herve.jourdain@neuf.fr> 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:raj.khem@gmail.com] > Sent: dimanche 20 novembre 2016 20:37 > To: Herve Jourdain <herve.jourdain@neuf.fr> > Cc: Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org> > 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 <herve.jourdain@neuf.fr> wrote: >> Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> >> --- >> 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 >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core Cheers, -- Fathi Boudra Linaro.org | Open source software for ARM SoCs ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options 2016-11-21 9:15 ` Fathi Boudra @ 2016-11-21 11:05 ` Herve Jourdain 0 siblings, 0 replies; 12+ messages in thread From: Herve Jourdain @ 2016-11-21 11:05 UTC (permalink / raw) To: 'Fathi Boudra' Cc: 'Patches and discussions about the oe-core layer' Hi Fathi, I do agree with both of your statements, which is why I did it that way. But if some people want less tunes, that's the only way I can think of - because crc and crypto are not going away in armv8. I can re-write the file in a nicer way, but the amount of tunes, if we want to give something similar in possibilities for armv8 aarch32 to what we had with armv7ve, can hardly be smaller I believe. So at the end of the day, it's a choice between completeness and convenience, I guess. Herve -----Original Message----- From: Fathi Boudra [mailto:fathi.boudra@linaro.org] Sent: lundi 21 novembre 2016 10:15 To: Herve Jourdain <herve.jourdain@neuf.fr> Cc: Khem Raj <raj.khem@gmail.com>; Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org> Subject: Re: [OE-core] [oe-core][PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options Hi, On 21 November 2016 at 07:02, Herve Jourdain <herve.jourdain@neuf.fr> 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:raj.khem@gmail.com] > Sent: dimanche 20 novembre 2016 20:37 > To: Herve Jourdain <herve.jourdain@neuf.fr> > Cc: Patches and discussions about the oe-core layer > <openembedded-core@lists.openembedded.org> > 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 <herve.jourdain@neuf.fr> wrote: >> Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> >> --- >> 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 >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core Cheers, -- Fathi Boudra Linaro.org | Open source software for ARM SoCs ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits 2016-11-20 12:10 [PATCH v3 0/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options Herve Jourdain @ 2016-11-20 12:10 ` Herve Jourdain 2016-11-20 19:31 ` Khem Raj 2 siblings, 1 reply; 12+ messages in thread From: Herve Jourdain @ 2016-11-20 12:10 UTC (permalink / raw) To: openembedded-core Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> --- meta/conf/machine/include/tune-cortexa53.inc | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 meta/conf/machine/include/tune-cortexa53.inc diff --git a/meta/conf/machine/include/tune-cortexa53.inc b/meta/conf/machine/include/tune-cortexa53.inc new file mode 100644 index 0000000..1d2947f --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa53.inc @@ -0,0 +1,43 @@ +DEFAULTTUNE ?= "cortexa53-32" + +require conf/machine/include/arm/arch-armv8.inc + +TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53 ', '',d)}" + +# Extra tune selections +AVAILTUNES += "cortexa53-32" +ARMPKGARCH_tune-cortexa53-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53-32 = "${TUNE_FEATURES_tune-armv8-neon-crc} cortexa53" +BASE_LIB_tune-cortexa53-32 = "lib" +TUNE_PKGARCH_tune-cortexa53-32 = "cortexa53-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crc} cortexa53-32 cortexa53-neon-fp-armv8" + +AVAILTUNES += "cortexa53crypto-32" +ARMPKGARCH_tune-cortexa53crypto-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53crypto-32 = "${TUNE_FEATURES_tune-armv8-neon-crypto-crc} cortexa53" +BASE_LIB_tune-cortexa53crypto-32 = "lib" +TUNE_PKGARCH_tune-cortexa53crypto-32 = "cortexa53crypto-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53crypto-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crypto-crc} cortexa53-32 cortexa53-crypto-neon-fp-armv8" + +AVAILTUNES += "cortexa53hf-32" +ARMPKGARCH_tune-cortexa53hf-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53hf-32 = "${TUNE_FEATURES_tune-armv8hf-neon-crc} cortexa53" +BASE_LIB_tune-cortexa53hf-32 = "lib" +TUNE_PKGARCH_tune-cortexa53hf-32 = "cortexa53hf-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53hf-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crc} cortexa53hf-32 cortexa53hf-neon-fp-armv8" + +AVAILTUNES += "cortexa53hfcrypto-32" +ARMPKGARCH_tune-cortexa53hfcrypto-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53hfcrypto-32 = "${TUNE_FEATURES_tune-armv8hf-neon-crypto-crc} cortexa53" +BASE_LIB_tune-cortexa53hfcrypto-32 = "lib" +TUNE_PKGARCH_tune-cortexa53hfcrypto-32 = "cortexa53hfcrypto-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53hfcrypto-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crypto-crc} cortexa53hf-32 cortexa53hf-crypto-neon-fp-armv8" + +AVAILTUNES += "cortexa53-64" +ARMPKGARCH_tune-cortexa53-64 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53-64 = "${TUNE_FEATURES_tune-aarch64} cortexa53" +BASE_LIB_tune-cortexa53-64 = "lib64" +TUNE_PKGARCH_tune-cortexa53-64 = "cortexa53-64" +PACKAGE_EXTRA_ARCHS_tune-cortexa53-64 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa53-64" + -- 2.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits 2016-11-20 12:10 ` [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain @ 2016-11-20 19:31 ` Khem Raj 0 siblings, 0 replies; 12+ messages in thread From: Khem Raj @ 2016-11-20 19:31 UTC (permalink / raw) To: Herve Jourdain; +Cc: Patches and discussions about the oe-core layer Is there any advantage of having all these tunes for armv8 as well ? On Sun, Nov 20, 2016 at 4:10 AM, Herve Jourdain <herve.jourdain@neuf.fr> wrote: > Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> > --- > meta/conf/machine/include/tune-cortexa53.inc | 43 ++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > create mode 100644 meta/conf/machine/include/tune-cortexa53.inc > > diff --git a/meta/conf/machine/include/tune-cortexa53.inc b/meta/conf/machine/include/tune-cortexa53.inc > new file mode 100644 > index 0000000..1d2947f > --- /dev/null > +++ b/meta/conf/machine/include/tune-cortexa53.inc > @@ -0,0 +1,43 @@ > +DEFAULTTUNE ?= "cortexa53-32" > + > +require conf/machine/include/arm/arch-armv8.inc > + > +TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations" > +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53 ', '',d)}" > + > +# Extra tune selections > +AVAILTUNES += "cortexa53-32" > +ARMPKGARCH_tune-cortexa53-32 ?= "cortexa53" > +TUNE_FEATURES_tune-cortexa53-32 = "${TUNE_FEATURES_tune-armv8-neon-crc} cortexa53" > +BASE_LIB_tune-cortexa53-32 = "lib" > +TUNE_PKGARCH_tune-cortexa53-32 = "cortexa53-32" > +PACKAGE_EXTRA_ARCHS_tune-cortexa53-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crc} cortexa53-32 cortexa53-neon-fp-armv8" > + > +AVAILTUNES += "cortexa53crypto-32" > +ARMPKGARCH_tune-cortexa53crypto-32 ?= "cortexa53" > +TUNE_FEATURES_tune-cortexa53crypto-32 = "${TUNE_FEATURES_tune-armv8-neon-crypto-crc} cortexa53" > +BASE_LIB_tune-cortexa53crypto-32 = "lib" > +TUNE_PKGARCH_tune-cortexa53crypto-32 = "cortexa53crypto-32" > +PACKAGE_EXTRA_ARCHS_tune-cortexa53crypto-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-neon-crypto-crc} cortexa53-32 cortexa53-crypto-neon-fp-armv8" > + > +AVAILTUNES += "cortexa53hf-32" > +ARMPKGARCH_tune-cortexa53hf-32 ?= "cortexa53" > +TUNE_FEATURES_tune-cortexa53hf-32 = "${TUNE_FEATURES_tune-armv8hf-neon-crc} cortexa53" > +BASE_LIB_tune-cortexa53hf-32 = "lib" > +TUNE_PKGARCH_tune-cortexa53hf-32 = "cortexa53hf-32" > +PACKAGE_EXTRA_ARCHS_tune-cortexa53hf-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crc} cortexa53hf-32 cortexa53hf-neon-fp-armv8" > + > +AVAILTUNES += "cortexa53hfcrypto-32" > +ARMPKGARCH_tune-cortexa53hfcrypto-32 ?= "cortexa53" > +TUNE_FEATURES_tune-cortexa53hfcrypto-32 = "${TUNE_FEATURES_tune-armv8hf-neon-crypto-crc} cortexa53" > +BASE_LIB_tune-cortexa53hfcrypto-32 = "lib" > +TUNE_PKGARCH_tune-cortexa53hfcrypto-32 = "cortexa53hfcrypto-32" > +PACKAGE_EXTRA_ARCHS_tune-cortexa53hfcrypto-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon-crypto-crc} cortexa53hf-32 cortexa53hf-crypto-neon-fp-armv8" > + > +AVAILTUNES += "cortexa53-64" > +ARMPKGARCH_tune-cortexa53-64 ?= "cortexa53" > +TUNE_FEATURES_tune-cortexa53-64 = "${TUNE_FEATURES_tune-aarch64} cortexa53" > +BASE_LIB_tune-cortexa53-64 = "lib64" > +TUNE_PKGARCH_tune-cortexa53-64 = "cortexa53-64" > +PACKAGE_EXTRA_ARCHS_tune-cortexa53-64 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa53-64" > + > -- > 2.7.4 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-11-21 16:36 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-11-20 12:10 [PATCH v3 0/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 1/3] arch-arm64.inc: include arch-armv7ve instead of arch-armv7a Herve Jourdain 2016-11-20 19:35 ` Khem Raj 2016-11-21 5:12 ` Herve Jourdain 2016-11-21 16:36 ` Khem Raj 2016-11-20 12:10 ` [PATCH v3 2/3] arch-armv8.inc: add support for 32bits armv8 options Herve Jourdain 2016-11-20 19:37 ` Khem Raj 2016-11-21 5:02 ` Herve Jourdain 2016-11-21 9:15 ` Fathi Boudra 2016-11-21 11:05 ` Herve Jourdain 2016-11-20 12:10 ` [PATCH v3 3/3] Add a tune file for cortexa53, valid for 32 bits and 64 bits Herve Jourdain 2016-11-20 19:31 ` Khem Raj
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.