The precedent we have used is that features that refer to ISA Categories
include _HAS_ following the PPC_FEATURE[2]. So GLIBC specifies in hwcap.h:

/* Feature definitions in AT_HWCAP2.  */
#define PPC_FEATURE2_ARCH_2_07     0x80000000 /* ISA 2.07 */
#define PPC_FEATURE2_HAS_HTM       0x40000000 /* Hardware Transactional
                                                 Memory */
#define PPC_FEATURE2_HAS_DSCR      0x20000000 /* Data Stream Control
                                                 Register */
#define PPC_FEATURE2_HAS_EBB       0x10000000 /* Event Base Branching */
#define PPC_FEATURE2_HAS_ISEL      0x08000000 /* Integer Select */
#define PPC_FEATURE2_HAS_TAR       0x04000000 /* Target Address Register */

This was carried from the original AT_HWCAP defines.

$ grep _HAS_ ./sysdeps/powerpc/bits/hwcap.h
#define PPC_FEATURE_HAS_ALTIVEC     0x10000000 /* SIMD/Vector Unit.  */
#define PPC_FEATURE_HAS_FPU         0x08000000 /* Floating Point Unit.  */
#define PPC_FEATURE_HAS_MMU         0x04000000 /* Memory Management Unit.  */
#define PPC_FEATURE_HAS_4xxMAC      0x02000000 /* 4xx Multiply
Accumulator.  */
#define PPC_FEATURE_HAS_SPE         0x00800000 /* Signal Processing ext.  */
#define PPC_FEATURE_HAS_EFP_SINGLE  0x00400000 /* SPE Float.  */
#define PPC_FEATURE_HAS_EFP_DOUBLE  0x00200000 /* SPE Double.  */
#define PPC_FEATURE_HAS_DFP         0x00000400 /* Decimal FP Unit */
#define PPC_FEATURE_HAS_VSX         0x00000080 /* P7 Vector Extension.  */

So could we agree on PPC_FEATURE2_HAS_VEC_CRYPTO or the shorter
PPC_FEATURE2_HAS_VCRYPTO?

Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center




From:   Benjamin Herrenschmidt <b...@kernel.crashing.org>
To:     linuxppc-...@ozlabs.org
Cc:     Steve Munroe/Rochester/IBM@IBMUS, Hanns-Joachim Uhl
            <hannsj_...@de.ibm.com>, Diane Brent/Poughkeepsie/IBM@IBMUS,
            Jeffrey Scheel/Rochester/IBM@IBMUS, Adhemerval Zanella
            <azane...@linux.vnet.ibm.com>
Date:   06/10/2014 12:05 AM
Subject:        [PATCH] powerpc: Add AT_HWCAP2 to indicate V.CRYPTO category
            support



The Vector Crypto category instructions are supported by current POWER8
chips, advertise them to userspace using a specific bit to properly
differentiate with chips of the same architecture level that might not
have them.

Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org>
CC: <sta...@vger.kernel.org> [v3.10+]
--

diff --git a/arch/powerpc/include/uapi/asm/cputable.h
b/arch/powerpc/include/uapi/asm/cputable.h
index 5b76579..de2c0e4 100644
--- a/arch/powerpc/include/uapi/asm/cputable.h
+++ b/arch/powerpc/include/uapi/asm/cputable.h
@@ -41,5 +41,6 @@
 #define PPC_FEATURE2_EBB                                0x10000000
 #define PPC_FEATURE2_ISEL                               0x08000000
 #define PPC_FEATURE2_TAR                                0x04000000
+#define PPC_FEATURE2_VEC_CRYPTO                                 0x02000000

 #endif /* _UAPI__ASM_POWERPC_CPUTABLE_H */
diff --git a/arch/powerpc/kernel/cputable.c
b/arch/powerpc/kernel/cputable.c
index c1faade..11da04a 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -109,7 +109,8 @@ extern void __restore_cpu_e6500(void);

PPC_FEATURE_PSERIES_PERFMON_COMPAT)
 #define COMMON_USER2_POWER8             (PPC_FEATURE2_ARCH_2_07 | \
                                                                  
PPC_FEATURE2_HTM_COMP |
PPC_FEATURE2_DSCR | \
-                                                                 
PPC_FEATURE2_ISEL |
PPC_FEATURE2_TAR)
+                                                                 
PPC_FEATURE2_ISEL |
PPC_FEATURE2_TAR | \
+                                                                 
PPC_FEATURE2_VEC_CRYPTO)
 #define COMMON_USER_PA6T                (COMMON_USER_PPC64 | PPC_FEATURE_PA6T
|\
                                                                  
PPC_FEATURE_TRUE_LE | \

PPC_FEATURE_HAS_ALTIVEC_COMP)


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to