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