On Sat, 2017-05-20 at 14:29 +1000, Nicholas Piggin wrote: > 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 <npig...@gmail.com>
Acked-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> > --- > These uapi changes have been agreed by powerpc toolchain and firmware > teams. I believe this completes our anticipated requirements for user > feature advertisement for ISA v3.0B. > > arch/powerpc/include/uapi/asm/cputable.h | 2 ++ > arch/powerpc/kernel/cputable.c | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/include/uapi/asm/cputable.h > b/arch/powerpc/include/uapi/asm/cputable.h > index 3e7ce86d5c13..4d877144f377 100644 > --- a/arch/powerpc/include/uapi/asm/cputable.h > +++ b/arch/powerpc/include/uapi/asm/cputable.h > @@ -46,6 +46,8 @@ > #define PPC_FEATURE2_HTM_NOSC 0x01000000 > #define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.00 */ > #define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float > 128-bit */ > +#define PPC_FEATURE2_DARN 0x00200000 /* darn random number insn */ > +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall */ > > /* > * IMPORTANT! > diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c > index 9b3e88b1a9c8..6f849832a669 100644 > --- a/arch/powerpc/kernel/cputable.c > +++ b/arch/powerpc/kernel/cputable.c > @@ -124,7 +124,8 @@ extern void __restore_cpu_e6500(void); > #define COMMON_USER_POWER9 COMMON_USER_POWER8 > #define COMMON_USER2_POWER9 (COMMON_USER2_POWER8 | \ > PPC_FEATURE2_ARCH_3_00 | \ > - PPC_FEATURE2_HAS_IEEE128) > + PPC_FEATURE2_HAS_IEEE128 | \ > + PPC_FEATURE2_DARN ) > > #ifdef CONFIG_PPC_BOOK3E_64 > #define COMMON_USER_BOOKE (COMMON_USER_PPC64 | PPC_FEATURE_BOOKE)