tune-cortexa72.inc: Add tune for nocrypto case

Message ID 20211202202056.698020-1-raj.khem@gmail.com
State New
Headers show
Series tune-cortexa72.inc: Add tune for nocrypto case | expand

Commit Message

Khem Raj Dec. 2, 2021, 8:20 p.m. UTC
RPI4 based on BCM2711 soc which does not enable AES extentions
in hardware see [1] fixes [2]

[1] https://forums.raspberrypi.com/viewtopic.php?t=207888&start=25#p1642862
[2] https://github.com/agherzan/meta-raspberrypi/issues/964

[YOCTO #14641]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Peter Kjellerstedt Dec. 2, 2021, 9:32 p.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Khem Raj
> Sent: den 2 december 2021 21:21
> To: openembedded-core@lists.openembedded.org
> Cc: Khem Raj <raj.khem@gmail.com>
> Subject: [OE-core] [PATCH] tune-cortexa72.inc: Add tune for nocrypto case
> 
> RPI4 based on BCM2711 soc which does not enable AES extentions
> in hardware see [1] fixes [2]
> 
> [1] https://forums.raspberrypi.com/viewtopic.php?t=207888&start=25#p1642862
> [2] https://github.com/agherzan/meta-raspberrypi/issues/964
> 
> [YOCTO #14641]
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> index 2a510bd45bd..b2eb35f111b 100644
> --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> @@ -6,8 +6,14 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=corte
>  require conf/machine/include/arm/arch-armv8a.inc
> 
>  # Little Endian base configs
> -AVAILTUNES += "cortexa72"
> +AVAILTUNES += "cortexa72 cortexa72-nocrypto"
>  ARMPKGARCH:tune-cortexa72             = "cortexa72"
>  TUNE_FEATURES:tune-cortexa72          = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72"
>  PACKAGE_EXTRA_ARCHS:tune-cortexa72    = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72"
>  BASE_LIB:tune-cortexa72               = "lib64"
> +
> +# Some implementations do not enabled crypto ( e.g. BCM2837B0 in rpi4 )
> +ARMPKGARCH:tune-cortexa72-nocrypto    = "cortexa72"
> +TUNE_FEATURES:tune-cortexa72-nocrypto = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72"
> +PACKAGE_EXTRA_ARCHS:tune-cortexa72-nocrypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72"
> +BASE_LIB:tune-cortexa72-nocrypto      = "lib64"
> --
> 2.34.1

I do realize renaming cortexa72 to cortexa72-crypto would not be backwards 
compatible, but is it really a good idea to introduce a name like this 
that does not follow the naming other tunes use?

//Peter
Khem Raj Dec. 2, 2021, 9:41 p.m. UTC | #2
On Thu, Dec 2, 2021 at 1:32 PM Peter Kjellerstedt
<peter.kjellerstedt@axis.com> wrote:
>
> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Khem Raj
> > Sent: den 2 december 2021 21:21
> > To: openembedded-core@lists.openembedded.org
> > Cc: Khem Raj <raj.khem@gmail.com>
> > Subject: [OE-core] [PATCH] tune-cortexa72.inc: Add tune for nocrypto case
> >
> > RPI4 based on BCM2711 soc which does not enable AES extentions
> > in hardware see [1] fixes [2]
> >
> > [1] https://forums.raspberrypi.com/viewtopic.php?t=207888&start=25#p1642862
> > [2] https://github.com/agherzan/meta-raspberrypi/issues/964
> >
> > [YOCTO #14641]
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> > index 2a510bd45bd..b2eb35f111b 100644
> > --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> > +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
> > @@ -6,8 +6,14 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=corte
> >  require conf/machine/include/arm/arch-armv8a.inc
> >
> >  # Little Endian base configs
> > -AVAILTUNES += "cortexa72"
> > +AVAILTUNES += "cortexa72 cortexa72-nocrypto"
> >  ARMPKGARCH:tune-cortexa72             = "cortexa72"
> >  TUNE_FEATURES:tune-cortexa72          = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72"
> >  PACKAGE_EXTRA_ARCHS:tune-cortexa72    = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72"
> >  BASE_LIB:tune-cortexa72               = "lib64"
> > +
> > +# Some implementations do not enabled crypto ( e.g. BCM2837B0 in rpi4 )
> > +ARMPKGARCH:tune-cortexa72-nocrypto    = "cortexa72"
> > +TUNE_FEATURES:tune-cortexa72-nocrypto = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72"
> > +PACKAGE_EXTRA_ARCHS:tune-cortexa72-nocrypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72"
> > +BASE_LIB:tune-cortexa72-nocrypto      = "lib64"
> > --
> > 2.34.1
>
> I do realize renaming cortexa72 to cortexa72-crypto would not be backwards
> compatible, but is it really a good idea to introduce a name like this
> that does not follow the naming other tunes use?

yeah I thought about it but its an exception than norm.  We also have
novfp usecases.

>
> //Peter
>

Patch

diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
index 2a510bd45bd..b2eb35f111b 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
@@ -6,8 +6,14 @@  TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=corte
 require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
-AVAILTUNES += "cortexa72"
+AVAILTUNES += "cortexa72 cortexa72-nocrypto"
 ARMPKGARCH:tune-cortexa72             = "cortexa72"
 TUNE_FEATURES:tune-cortexa72          = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72"
 PACKAGE_EXTRA_ARCHS:tune-cortexa72    = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72"
 BASE_LIB:tune-cortexa72               = "lib64"
+
+# Some implementations do not enabled crypto ( e.g. BCM2837B0 in rpi4 )
+ARMPKGARCH:tune-cortexa72-nocrypto    = "cortexa72"
+TUNE_FEATURES:tune-cortexa72-nocrypto = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72-nocrypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72"
+BASE_LIB:tune-cortexa72-nocrypto      = "lib64"