1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _ASM_X86_PRCTL_H
3 #define _ASM_X86_PRCTL_H
4 
5 #define ARCH_SET_GS			0x1001
6 #define ARCH_SET_FS			0x1002
7 #define ARCH_GET_FS			0x1003
8 #define ARCH_GET_GS			0x1004
9 
10 #define ARCH_GET_CPUID			0x1011
11 #define ARCH_SET_CPUID			0x1012
12 
13 #define ARCH_GET_XCOMP_SUPP		0x1021
14 #define ARCH_GET_XCOMP_PERM		0x1022
15 #define ARCH_REQ_XCOMP_PERM		0x1023
16 #define ARCH_GET_XCOMP_GUEST_PERM	0x1024
17 #define ARCH_REQ_XCOMP_GUEST_PERM	0x1025
18 
19 #define ARCH_XCOMP_TILECFG		17
20 #define ARCH_XCOMP_TILEDATA		18
21 
22 #define ARCH_MAP_VDSO_X32		0x2001
23 #define ARCH_MAP_VDSO_32		0x2002
24 #define ARCH_MAP_VDSO_64		0x2003
25 
26 /* Don't use 0x3001-0x3004 because of old glibcs */
27 
28 #define ARCH_GET_UNTAG_MASK		0x4001
29 #define ARCH_ENABLE_TAGGED_ADDR		0x4002
30 #define ARCH_GET_MAX_TAG_BITS		0x4003
31 #define ARCH_FORCE_TAGGED_SVA		0x4004
32 
33 #define ARCH_SHSTK_ENABLE		0x5001
34 #define ARCH_SHSTK_DISABLE		0x5002
35 #define ARCH_SHSTK_LOCK			0x5003
36 #define ARCH_SHSTK_UNLOCK		0x5004
37 #define ARCH_SHSTK_STATUS		0x5005
38 
39 /* ARCH_SHSTK_ features bits */
40 #define ARCH_SHSTK_SHSTK		(1ULL <<  0)
41 #define ARCH_SHSTK_WRSS			(1ULL <<  1)
42 
43 #endif /* _ASM_X86_PRCTL_H */
44