[RFC Linux patch] powerpc: add documentation for HWCAPs

Paul E Murphy murphyp at linux.ibm.com
Sat May 21 00:21:43 AEST 2022



On 5/20/22 12:15 AM, Nicholas Piggin via Gcc wrote:
> This takes the arm64 file and adjusts it for powerpc. Feature
> descriptions are vaguely handwaved by me.
> ---
> 
> Anybody care to expand on or correct the meaning of these entries or
> bikeshed the wording of the intro? Many of them are no longer used
> anywhere by upstream kernels and even where they are it's not always
> quite clear what the exact intent was, a lot of them are old history
> and I don't know what or where they are used.
> 
> I may try to get these descriptions pushed into the ABI doc after a
> time, but for now they can live in the kernel tree.
> 
> Thanks,
> Nick

Thanks, this is really helpful.  I've been caught off-guard by some of 
the subtleties in the meanings of these bits at times.  I think it would 
be helpful to share what is implied by the usage of the word "facility" 
below.  It would resolve some of my questions below.



> +PPC_FEATURE_HAS_ALTIVEC
> +    Vector (aka Altivec, VSX) facility is available.

I think "(aka Altivec, VSX)" might be more accurately stated as "(aka 
Altivec)"?


> +PPC_FEATURE_HAS_DFP
> +    DFP facility is available.

Maybe something like "Decimal floating point instructions are available 
to userspace.  Individual instruction availability is dependent on the
reported architecture version."?


> +PPC_FEATURE_HAS_VSX
> +    VSX facility is available.
A small reminder the features are also dependent on architecture version 
too might be helpful here too.


> +PPC_FEATURE2_TAR
> +    VSX facility is available.

Was manipulating the tar spr was once a privileged instruction, is this 
a hint userspace can use the related instructions?


> +
> +PPC_FEATURE2_HAS_IEEE128
> +    IEEE 128 is available? What instructions/data?

Maybe something like "IEEE 128 binary floating point instructions are 
supported.  Individual instruction availability is dependent on the
reported architecture version."?


> +PPC_FEATURE2_SCV
> +    scv instruction is available.

I think it might be clearer to say "This kernel supports syscalls using 
the scv instruction".


> +PPC_FEATURE2_MMA
> +    MMA facility is available.

Maybe another note that specific instruction availability may depend on 
the reported architecture version?


More information about the Linuxppc-dev mailing list