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

source code of linux/arch/x86/include/uapi/asm/prctl.h