1*8cf108c5SZhang Yi /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*8cf108c5SZhang Yi #ifndef __ASM_GENERIC_MMAN_H 3*8cf108c5SZhang Yi #define __ASM_GENERIC_MMAN_H 4*8cf108c5SZhang Yi 5*8cf108c5SZhang Yi #include <asm-generic/mman-common.h> 6*8cf108c5SZhang Yi 7*8cf108c5SZhang Yi #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ 8*8cf108c5SZhang Yi #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ 9*8cf108c5SZhang Yi #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ 10*8cf108c5SZhang Yi #define MAP_LOCKED 0x2000 /* pages are locked */ 11*8cf108c5SZhang Yi #define MAP_NORESERVE 0x4000 /* don't check for reservations */ 12*8cf108c5SZhang Yi #define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */ 13*8cf108c5SZhang Yi #define MAP_NONBLOCK 0x10000 /* do not block on IO */ 14*8cf108c5SZhang Yi #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ 15*8cf108c5SZhang Yi #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ 16*8cf108c5SZhang Yi #define MAP_SYNC 0x80000 /* perform synchronous page faults for the mapping */ 17*8cf108c5SZhang Yi 18*8cf108c5SZhang Yi /* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */ 19*8cf108c5SZhang Yi 20*8cf108c5SZhang Yi #define MCL_CURRENT 1 /* lock all current mappings */ 21*8cf108c5SZhang Yi #define MCL_FUTURE 2 /* lock all future mappings */ 22*8cf108c5SZhang Yi #define MCL_ONFAULT 4 /* lock all pages that are faulted in */ 23*8cf108c5SZhang Yi 24*8cf108c5SZhang Yi #endif /* __ASM_GENERIC_MMAN_H */ 25