<html><body>
<p><font size="2" face="sans-serif">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:</font><br>
<br>
<font size="2" face="sans-serif">/* Feature definitions in AT_HWCAP2.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_ARCH_2_07     0x80000000 /* ISA 2.07 */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_HAS_HTM       0x40000000 /* Hardware Transactional</font><br>
<font size="2" face="sans-serif">                                                 Memory */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_HAS_DSCR      0x20000000 /* Data Stream Control</font><br>
<font size="2" face="sans-serif">                                                 Register */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_HAS_EBB       0x10000000 /* Event Base Branching */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_HAS_ISEL      0x08000000 /* Integer Select */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE2_HAS_TAR       0x04000000 /* Target Address Register */</font><br>
<br>
<font size="2" face="sans-serif">This was carried from the original AT_HWCAP defines.</font><br>
<br>
<font size="2" face="sans-serif">$ grep _HAS_ ./sysdeps/powerpc/bits/hwcap.h</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_ALTIVEC          0x10000000 /* SIMD/Vector Unit.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_FPU      0x08000000 /* Floating Point Unit.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_MMU      0x04000000 /* Memory Management Unit.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_4xxMAC           0x02000000 /* 4xx Multiply Accumulator.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_SPE      0x00800000 /* Signal Processing ext.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_EFP_SINGLE  0x00400000 /* SPE Float.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_EFP_DOUBLE  0x00200000 /* SPE Double.  */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_DFP      0x00000400 /* Decimal FP Unit */</font><br>
<font size="2" face="sans-serif">#define PPC_FEATURE_HAS_VSX      0x00000080 /* P7 Vector Extension.  */</font><br>
<br>
<font size="2" face="sans-serif">So could we agree on PPC_FEATURE2_HAS_VEC_CRYPTO or the shorter PPC_FEATURE2_HAS_VCRYPTO?</font><br>
<br>
<font size="2" face="sans-serif">Steven J. Munroe<br>
Linux on Power Toolchain Architect<br>
IBM Corporation, Linux Technology Center<br>
</font><br>
<br>
<img width="16" height="16" src="cid:1__=0ABBF666DFC106A08f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Benjamin Herrenschmidt ---06/10/2014 12:05:07 AM---The Vector Crypto category instructions are suppor"><font size="2" color="#424282" face="sans-serif">Benjamin Herrenschmidt ---06/10/2014 12:05:07 AM---The Vector Crypto category instructions are supported by current POWER8 chips, advertise them to use</font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Benjamin Herrenschmidt <benh@kernel.crashing.org></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">linuxppc-dev@ozlabs.org</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Cc:        </font><font size="1" face="sans-serif">Steve Munroe/Rochester/IBM@IBMUS, Hanns-Joachim Uhl <hannsj_uhl@de.ibm.com>, Diane Brent/Poughkeepsie/IBM@IBMUS, Jeffrey Scheel/Rochester/IBM@IBMUS, Adhemerval Zanella <azanella@linux.vnet.ibm.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">06/10/2014 12:05 AM</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">[PATCH] powerpc: Add AT_HWCAP2 to indicate V.CRYPTO category support</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt><font size="2">The Vector Crypto category instructions are supported by current POWER8<br>
chips, advertise them to userspace using a specific bit to properly<br>
differentiate with chips of the same architecture level that might not<br>
have them.<br>
<br>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org><br>
CC: <stable@vger.kernel.org> [v3.10+]<br>
--<br>
<br>
diff --git a/arch/powerpc/include/uapi/asm/cputable.h b/arch/powerpc/include/uapi/asm/cputable.h<br>
index 5b76579..de2c0e4 100644<br>
--- a/arch/powerpc/include/uapi/asm/cputable.h<br>
+++ b/arch/powerpc/include/uapi/asm/cputable.h<br>
@@ -41,5 +41,6 @@<br>
 #define PPC_FEATURE2_EBB                                0x10000000<br>
 #define PPC_FEATURE2_ISEL                               0x08000000<br>
 #define PPC_FEATURE2_TAR                                0x04000000<br>
+#define PPC_FEATURE2_VEC_CRYPTO                                 0x02000000<br>
 <br>
 #endif /* _UAPI__ASM_POWERPC_CPUTABLE_H */<br>
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c<br>
index c1faade..11da04a 100644<br>
--- a/arch/powerpc/kernel/cputable.c<br>
+++ b/arch/powerpc/kernel/cputable.c<br>
@@ -109,7 +109,8 @@ extern void __restore_cpu_e6500(void);<br>
                                                                  PPC_FEATURE_PSERIES_PERFMON_COMPAT)<br>
 #define COMMON_USER2_POWER8             (PPC_FEATURE2_ARCH_2_07 | \<br>
                                                                  PPC_FEATURE2_HTM_COMP | PPC_FEATURE2_DSCR | \<br>
-                                                                 PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR)<br>
+                                                                 PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | \<br>
+                                                                 PPC_FEATURE2_VEC_CRYPTO)<br>
 #define COMMON_USER_PA6T                (COMMON_USER_PPC64 | PPC_FEATURE_PA6T |\<br>
                                                                  PPC_FEATURE_TRUE_LE | \<br>
                                                                  PPC_FEATURE_HAS_ALTIVEC_COMP)<br>
<br>
<br>
</font></tt><br>
</body></html>