xref: /linux-6.15/include/uapi/linux/mman.h (revision 9d64fc08)
1 #ifndef _UAPI_LINUX_MMAN_H
2 #define _UAPI_LINUX_MMAN_H
3 
4 #include <asm/mman.h>
5 #include <asm-generic/hugetlb_encode.h>
6 
7 #define MREMAP_MAYMOVE	1
8 #define MREMAP_FIXED	2
9 
10 #define OVERCOMMIT_GUESS		0
11 #define OVERCOMMIT_ALWAYS		1
12 #define OVERCOMMIT_NEVER		2
13 
14 /*
15  * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
16  * size other than the default is desired.  See hugetlb_encode.h.
17  * All known huge page size encodings are provided here.  It is the
18  * responsibility of the application to know which sizes are supported on
19  * the running system.  See mmap(2) man page for details.
20  */
21 #define MAP_HUGE_SHIFT	HUGETLB_FLAG_ENCODE_SHIFT
22 #define MAP_HUGE_MASK	HUGETLB_FLAG_ENCODE_MASK
23 
24 #define MAP_HUGE_64KB	HUGETLB_FLAG_ENCODE_64KB
25 #define MAP_HUGE_512KB	HUGETLB_FLAG_ENCODE_512KB
26 #define MAP_HUGE_1MB	HUGETLB_FLAG_ENCODE_1MB
27 #define MAP_HUGE_2MB	HUGETLB_FLAG_ENCODE_2MB
28 #define MAP_HUGE_8MB	HUGETLB_FLAG_ENCODE_8MB
29 #define MAP_HUGE_16MB	HUGETLB_FLAG_ENCODE_16MB
30 #define MAP_HUGE_256MB	HUGETLB_FLAG_ENCODE_256MB
31 #define MAP_HUGE_1GB	HUGETLB_FLAG_ENCODE_1GB
32 #define MAP_HUGE_2GB	HUGETLB_FLAG_ENCODE_2GB
33 #define MAP_HUGE_16GB	HUGETLB_FLAG_ENCODE_16GB
34 
35 #endif /* _UAPI_LINUX_MMAN_H */
36