sparc64: Add auxiliary vectors to report platform ADI properties
authorKhalid Aziz <khalid.aziz@oracle.com>
Wed, 21 Feb 2018 17:15:48 +0000 (10:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 18 Mar 2018 14:38:46 +0000 (07:38 -0700)
commitc6202ca764ac7b3728e29bca616567beb57fbac7
tree70c5121ba4dc4d6756fac91ef3c7857da1edd314
parent94addb3530bb81e7ffde2c5c50a88310f734c365
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>
arch/sparc/include/asm/adi.h [new file with mode: 0644]
arch/sparc/include/asm/adi_64.h [new file with mode: 0644]
arch/sparc/include/asm/elf_64.h
arch/sparc/include/uapi/asm/auxvec.h
arch/sparc/kernel/Makefile
arch/sparc/kernel/adi_64.c [new file with mode: 0644]
arch/sparc/kernel/mdesc.c