powerpc: Add PPC_FEATURE userspace bits for SCV and DARN instructions

Providing "scv" support to userspace requires kernel support, so it
must be advertised as independently to the base ISA 3 instruction set.

The darn instruction relies on firmware enablement, so it has been
decided to split this out from the core ISA 3 feature as well.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

authored by Nicholas Piggin and committed by Michael Ellerman a4700a26 d75e4919

Changed files
+4 -1
arch
powerpc
include
uapi
kernel
+2
arch/powerpc/include/uapi/asm/cputable.h
··· 46 #define PPC_FEATURE2_HTM_NOSC 0x01000000 47 #define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.00 */ 48 #define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float 128-bit */ 49 50 /* 51 * IMPORTANT!
··· 46 #define PPC_FEATURE2_HTM_NOSC 0x01000000 47 #define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.00 */ 48 #define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float 128-bit */ 49 + #define PPC_FEATURE2_DARN 0x00200000 /* darn random number insn */ 50 + #define PPC_FEATURE2_SCV 0x00100000 /* scv syscall */ 51 52 /* 53 * IMPORTANT!
+2 -1
arch/powerpc/kernel/cputable.c
··· 124 #define COMMON_USER_POWER9 COMMON_USER_POWER8 125 #define COMMON_USER2_POWER9 (COMMON_USER2_POWER8 | \ 126 PPC_FEATURE2_ARCH_3_00 | \ 127 - PPC_FEATURE2_HAS_IEEE128) 128 129 #ifdef CONFIG_PPC_BOOK3E_64 130 #define COMMON_USER_BOOKE (COMMON_USER_PPC64 | PPC_FEATURE_BOOKE)
··· 124 #define COMMON_USER_POWER9 COMMON_USER_POWER8 125 #define COMMON_USER2_POWER9 (COMMON_USER2_POWER8 | \ 126 PPC_FEATURE2_ARCH_3_00 | \ 127 + PPC_FEATURE2_HAS_IEEE128 | \ 128 + PPC_FEATURE2_DARN ) 129 130 #ifdef CONFIG_PPC_BOOK3E_64 131 #define COMMON_USER_BOOKE (COMMON_USER_PPC64 | PPC_FEATURE_BOOKE)