On 6/14/18 8:22 PM, Randy Li wrote: > There are some addtional instructions apart from bare armv8, > also there is armv8.1, armv8.2. > > Most the processor would support crc, except X-gene 1.
I have a concern with this approach, since its mirroring the prior arm art, I think for v8 it would be better to consolidate it around ISA defs e.g. armv8.4-a, armv8.3-a, armv8.2-a and armv8.1-a and so on. Moreover current approach is only considering a subset of aarch64 feature modifiers, if we want to go this route we should consider them all as listed here https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html#aarch64-feature-modifiers if there is one outlier then its better to address that in machine or soc config instead. > > Signed-off-by: Randy Li <ay...@soulik.info> > --- > meta/conf/machine/include/arm/arch-armv8.inc | 1 - > meta/conf/machine/include/arm/arch-armv8a.inc | 28 > +++++++++++++++++++++++++++ > 2 files changed, 28 insertions(+), 1 deletion(-) > delete mode 100644 meta/conf/machine/include/arm/arch-armv8.inc > create mode 100644 meta/conf/machine/include/arm/arch-armv8a.inc > > diff --git a/meta/conf/machine/include/arm/arch-armv8.inc > b/meta/conf/machine/include/arm/arch-armv8.inc > deleted file mode 100644 > index 5e832fae6d..0000000000 > --- a/meta/conf/machine/include/arm/arch-armv8.inc > +++ /dev/null > @@ -1 +0,0 @@ > -require conf/machine/include/arm/arch-arm64.inc > diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc > b/meta/conf/machine/include/arm/arch-armv8a.inc > new file mode 100644 > index 0000000000..323d0d7f0f > --- /dev/null > +++ b/meta/conf/machine/include/arm/arch-armv8a.inc > @@ -0,0 +1,28 @@ > +DEFAULTTUNE ?= "armv8a-crc" > + > +TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" > +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' > -march=armv8-a', '', d)}" > +TUNEVALID[simd] = "Enable instructions for ARMv8-a Advanced SIMD and > floating-point" > +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', > d)}" > +TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check > (CRC)" > +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" > +TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic" > +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', > '', d)}" > +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', > 'armv8a:', '' ,d)}" > + > +require conf/machine/include/arm/arch-arm64.inc > + > +# Little Endian base configs > +AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" > +ARMPKGARCH_tune-armv8a ?= "armv8a" > +ARMPKGARCH_tune-armv8a-crc ?= "armv8a" > +ARMPKGARCH_tune-armv8a-crypto ?= "armv8a" > +ARMPKGARCH_tune-armv8a-crc-crypto ?= "armv8a" > +TUNE_FEATURES_tune-armv8a = "aarch64 armv8a simd" > +TUNE_FEATURES_tune-armv8a-crc = "${TUNE_FEATURES_tune-armv8a} > crc" > +TUNE_FEATURES_tune-armv8a-crypto = "${TUNE_FEATURES_tune-armv8a} > crypto" > +TUNE_FEATURES_tune-armv8a-crc-crypto = > "${TUNE_FEATURES_tune-armv8a-crc} crypto" > +PACKAGE_EXTRA_ARCHS_tune-armv8a = "aarch64 armv8a simd" > +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc = > "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crc" > +PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto = > "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crypto" > +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = > "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} crypto" >
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core