On Sat, Feb 23, 2019 at 11:37 AM Mike Crowe <m...@mcrowe.com> wrote: > > On Monday 04 February 2019 at 18:57:22 -0800, Khem Raj wrote: > > From: ayaka <ay...@soulik.info> > > > > 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. > > > > Signed-off-by: Randy Li <ay...@soulik.info> > > Signed-off-by: Khem Raj <raj.k...@gmail.com> > > --- > > 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" > > -- > > 2.20.1 > > I believe that this change, along with > 6719de403620dded075dc74f2976669d95bffd7a, may have broken multilib for > AArch64. :( > > When I enable multilib in local.conf with: > > require conf/multilib.conf > MULTILIBS = "multilib:lib32" > DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" > > then both the primary target and lib32- packages end up installing stuff > into /usr/lib (and would presumably conflict, if I got as far as installing > them.) > > If I revert 6719de403620dded075dc74f2976669d95bffd7a and > d1db78b0e284e1a1f370e71183ded0cbdc1475db then the primary target packages > end up installing stuff in /usr/lib64 as would be expected. > > This appears to be because baselib = "lib" rather than "lib64". That in > turn may be because BASE_LIB_tune-armv8a-crc does not exist. > > If I apply this patch: > > diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc > b/meta/conf/machine/include/arm/arch-armv8a.inc > index 323d0d7f0f..649deca61b 100644 > --- a/meta/conf/machine/include/arm/arch-armv8a.inc > +++ b/meta/conf/machine/include/arm/arch-armv8a.inc > @@ -26,3 +26,4 @@ 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" > +BASE_LIB_tune-armv8a-crc = "lib64" > > then multilib behaves as it did before. Is this the correct fix?
it is in right direction, while you are at it also add it for other armv8 tunes BASE_LIB_tune-armv8a = "lib64" BASE_LIB_tune-armv8a-crc = "lib64" BASE_LIB_tune-armv8a-crypto = "lib64" BASE_LIB_tune-armv8a-crc-crypto = "lib64" > > Thanks. > > Mike. -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core