powerpc: add PPC_FEATURE userspace bits for SCV and DARN instructions
Nicholas Piggin
reviewerPATCH 1/1 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.
---
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(-)
arch/powerpc/include/uapi/asm/cputable.h +2 -0
@@ -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!
arch/powerpc/kernel/cputable.c +2 -1
@@ -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)
Signature · 1 line
2.11.0
Quoted 7 lines · Nicholas Piggin
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 <[email protected]>
Quoted 36 lines
---
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(-)arch/powerpc/include/uapi/asm/cputable.h +2
-0@@ -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! arch/powerpc/kernel/cputable.c +2
-1@@ -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)
Michael Ellerman
AppliedQuoted 8 lines · Nicholas Piggin
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 <[email protected]>
Applied to powerpc fixes, thanks.
https://git.kernel.org/powerpc/c/a4700a26107241cc7b9ac8528b2c67
cheers