summaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/elf_64.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-08-17 01:41:04 +0200
committerDavid S. Miller <davem@davemloft.net>2012-08-19 08:02:36 +0200
commit6f859c0e96f0737a543610a189d12420c569110f (patch)
treea3623aa1d8eb1aa356357ba37197aa2d4aaa9503 /arch/sparc/include/asm/elf_64.h
parentMerge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm (diff)
downloadlinux-6f859c0e96f0737a543610a189d12420c569110f.tar.xz
linux-6f859c0e96f0737a543610a189d12420c569110f.zip
sparc64: Add detection for features new in SPARC-T4.
Compare and branch, pause, and the various new cryptographic opcodes. We advertise the crypto opcodes to userspace using one hwcap bit, HWCAP_SPARC_CRYPTO. This essentially indicates that the %cfr register can be interrograted and used to determine exactly which crypto opcodes are available on the current cpu. We use the %cfr register to report all of the crypto opcodes available in the bootup CPU caps log message, and via /proc/cpuinfo. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include/asm/elf_64.h')
-rw-r--r--arch/sparc/include/asm/elf_64.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h
index 7df8b7f544d4..370ca1e71ffb 100644
--- a/arch/sparc/include/asm/elf_64.h
+++ b/arch/sparc/include/asm/elf_64.h
@@ -86,6 +86,15 @@
#define AV_SPARC_IMA 0x00400000 /* integer multiply-add */
#define AV_SPARC_ASI_CACHE_SPARING \
0x00800000 /* cache sparing ASIs available */
+#define AV_SPARC_PAUSE 0x01000000 /* PAUSE available */
+#define AV_SPARC_CBCOND 0x02000000 /* CBCOND insns available */
+
+/* Solaris decided to enumerate every single crypto instruction type
+ * in the AT_HWCAP bits. This is wasteful, since if crypto is present,
+ * you still need to look in the CFR register to see if the opcode is
+ * really available. So we simply advertise only "crypto" support.
+ */
+#define HWCAP_SPARC_CRYPTO 0x04000000 /* CRYPTO insns available */
#define CORE_DUMP_USE_REGSET