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