Re: [PATCH v2 0/5] arm64: advertise availability of CRC and cryptoinstructions

From: Catalin Marinas
Date: Tue Jan 21 2014 - 10:13:14 EST

On Mon, Jan 20, 2014 at 07:42:36PM +0000, Nicolas Pitre wrote:
> On Mon, 20 Jan 2014, Ard Biesheuvel wrote:
> > Quoting Russell:
> >
> > On 18 December 2013 12:42, Russell King - ARM Linux
> > <linux@xxxxxxxxxxxxxxxx> wrote:
> > > The point is that they'll never appear on an ARMv7 implementation because
> > > they're not part of the ARMv7 architecture. I see no point in needlessly
> > > polluting ARM32 with ARM64 stuff - in exactly the same way that you see
> > > no point in polluting ARM64 with ARM32 stuff.
> > >
> > > So, frankly, find a different way to this. We don't need to needlessly
> > > waste HWCAP bits on ARM32.
> >
> > So my idea was to use HWCAP2 bits instead ...
> You also decided to put the new crypto bits into HWCAP2. I have no
> actual objection with that either.
> What makes me wonder is Catalin's affirmation about putting those new
> bits into HWCAP2 making future extensions possible with old glibc
> versions that don't have knowledge about HWCAP2. That is what I don't
> get the pertinence of.

I was looking for a justification for not touching HWCAP and instead
going directly to HWCAP2. Some user application compiled against an old
glibc could still access HWCAP via getauxval() but not HWCAP2. So that's
not for old glibc using new HWCAP bits itself.

A recent example is the HWCAP_EVSTRM which is ARMv7 only, some
application could implement some user space polling using WFE (I think
I've heard about smarter user locking in PostgreSQL). We may get other
ARMv7 ideas in the future or CPU implementations with features not
covered by the ARM ARM.

But if we decide to keep ARMv8 bits in HWCAP2, it's fine by me, I
already acked these patches. It's up to Russell whether he wants to take
them in this form or not.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at