xref: /linux/arch/powerpc/include/uapi/asm/mman.h (revision e9f0878c4b2004ac19581274c1ae4c61ae3ca70e)
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /*
3  * This program is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU General Public License
5  * as published by the Free Software Foundation; either version
6  * 2 of the License, or (at your option) any later version.
7  */
8 #ifndef _UAPI_ASM_POWERPC_MMAN_H
9 #define _UAPI_ASM_POWERPC_MMAN_H
10 
11 #include <asm-generic/mman-common.h>
12 
13 
14 #define PROT_SAO	0x10		/* Strong Access Ordering */
15 
16 #define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
17 #define MAP_NORESERVE   0x40            /* don't reserve swap pages */
18 #define MAP_LOCKED	0x80
19 
20 #define MAP_GROWSDOWN	0x0100		/* stack-like segment */
21 #define MAP_DENYWRITE	0x0800		/* ETXTBSY */
22 #define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
23 
24 #define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
25 #define MCL_FUTURE      0x4000          /* lock all additions to address space */
26 #define MCL_ONFAULT	0x8000		/* lock all pages that are faulted in */
27 
28 #define MAP_POPULATE	0x8000		/* populate (prefault) pagetables */
29 #define MAP_NONBLOCK	0x10000		/* do not block on IO */
30 #define MAP_STACK	0x20000		/* give out an address that is best suited for process/thread stacks */
31 #define MAP_HUGETLB	0x40000		/* create a huge page mapping */
32 
33 /* Override any generic PKEY permission defines */
34 #define PKEY_DISABLE_EXECUTE   0x4
35 #undef PKEY_ACCESS_MASK
36 #define PKEY_ACCESS_MASK       (PKEY_DISABLE_ACCESS |\
37 				PKEY_DISABLE_WRITE  |\
38 				PKEY_DISABLE_EXECUTE)
39 #endif /* _UAPI_ASM_POWERPC_MMAN_H */
40