All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: Mike Crowe <mac@mcrowe.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/6] arch-armv8a.inc: add tune include for armv8
Date: Sat, 23 Feb 2019 12:04:41 -0800	[thread overview]
Message-ID: <CAMKF1sqYyaME_X6VcV_obkKLfEgP30Vw1EM0xeuuMPuAfYmzjQ@mail.gmail.com> (raw)
In-Reply-To: <20190223193731.hccdkg3vych4y6jr@mcrowe.com>

On Sat, Feb 23, 2019 at 11:37 AM Mike Crowe <mac@mcrowe.com> wrote:
>
> On Monday 04 February 2019 at 18:57:22 -0800, Khem Raj wrote:
> > From: ayaka <ayaka@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 <ayaka@soulik.info>
> > Signed-off-by: Khem Raj <raj.khem@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.


      reply	other threads:[~2019-02-23 20:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-05  2:57 [PATCH 1/6] arch-armv8a.inc: add tune include for armv8 Khem Raj
2019-02-05  2:57 ` [PATCH 2/6] ThunderX: update the armv8a rules Khem Raj
2019-02-05  2:57 ` [PATCH 3/6] tune-cortexa32: add tunes for ARM Cortex-A32 Khem Raj
2019-02-05  2:57 ` [PATCH 4/6] tune-cortexa35: add tunes for ARM Cortex-A35 Khem Raj
2019-02-05  2:57 ` [PATCH 5/6] tune-cortexa53: add tunes for ARM Cortex-A53 Khem Raj
2019-02-05  2:57 ` [PATCH 6/6] tune-cortexa72: add tunes for ARM Cortex-A72 Khem Raj
2019-02-05 15:12 ` [PATCH 1/6] arch-armv8a.inc: add tune include for armv8 Richard Purdie
2019-02-05 15:57   ` Khem Raj
2019-02-05 15:57 ` akuster808
2019-02-05 17:37   ` Khem Raj
2019-02-23 19:37 ` Mike Crowe
2019-02-23 20:04   ` Khem Raj [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMKF1sqYyaME_X6VcV_obkKLfEgP30Vw1EM0xeuuMPuAfYmzjQ@mail.gmail.com \
    --to=raj.khem@gmail.com \
    --cc=mac@mcrowe.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.