aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/uapi/asm/auxvec.h
diff options
context:
space:
mode:
authorKhalid Aziz <khalid.aziz@oracle.com>2018-02-21 10:15:48 -0700
committerDavid S. Miller <davem@davemloft.net>2018-03-18 07:38:46 -0700
commitc6202ca764ac7b3728e29bca616567beb57fbac7 (patch)
tree70c5121ba4dc4d6756fac91ef3c7857da1edd314 /arch/sparc/include/uapi/asm/auxvec.h
parentsparc64: Add handler for "Memory Corruption Detected" trap (diff)
downloadlinux-dev-c6202ca764ac7b3728e29bca616567beb57fbac7.tar.xz
linux-dev-c6202ca764ac7b3728e29bca616567beb57fbac7.zip
sparc64: Add auxiliary vectors to report platform ADI properties
ADI feature on M7 and newer processors has three important properties relevant to userspace apps using ADI capabilities - (1) Size of block of memory an ADI version tag applies to, (2) Number of uppermost bits in virtual address used to encode ADI tag, and (3) The value M7 processor will force the ADI tags to if it detects uncorrectable error in an ADI tagged cacheline. Kernel can retrieve these properties for a platform through machine description provided by the firmware. This patch adds code to retrieve these properties and report them to userspace through auxiliary vectors. Signed-off-by: Khalid Aziz <khalid.aziz@oracle.com> Cc: Khalid Aziz <khalid@gonehiking.org> Reviewed-by: Anthony Yznaga <anthony.yznaga@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include/uapi/asm/auxvec.h')
-rw-r--r--arch/sparc/include/uapi/asm/auxvec.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/sparc/include/uapi/asm/auxvec.h b/arch/sparc/include/uapi/asm/auxvec.h
index 5f80a70cc901..f9937ccfcd99 100644
--- a/arch/sparc/include/uapi/asm/auxvec.h
+++ b/arch/sparc/include/uapi/asm/auxvec.h
@@ -3,6 +3,17 @@
#define AT_SYSINFO_EHDR 33
+#ifdef CONFIG_SPARC64
+/* Avoid overlap with other AT_* values since they are consolidated in
+ * glibc and any overlaps can cause problems
+ */
+#define AT_ADI_BLKSZ 48
+#define AT_ADI_NBITS 49
+#define AT_ADI_UEONADI 50
+
+#define AT_VECTOR_SIZE_ARCH 4
+#else
#define AT_VECTOR_SIZE_ARCH 1
+#endif
#endif /* !(__ASMSPARC_AUXVEC_H) */