1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-or-later 2*49cdfc7eSAndroid Build Coastguard Worker /* 3*49cdfc7eSAndroid Build Coastguard Worker * Copyright (c) 2015 Fujitsu Ltd. 4*49cdfc7eSAndroid Build Coastguard Worker * Author: Guangwen Feng <[email protected]> 5*49cdfc7eSAndroid Build Coastguard Worker */ 6*49cdfc7eSAndroid Build Coastguard Worker 7*49cdfc7eSAndroid Build Coastguard Worker #ifndef LAPI_MMAP_H__ 8*49cdfc7eSAndroid Build Coastguard Worker #define LAPI_MMAP_H__ 9*49cdfc7eSAndroid Build Coastguard Worker 10*49cdfc7eSAndroid Build Coastguard Worker #include "config.h" 11*49cdfc7eSAndroid Build Coastguard Worker #include <sys/mman.h> 12*49cdfc7eSAndroid Build Coastguard Worker 13*49cdfc7eSAndroid Build Coastguard Worker #ifndef MAP_SHARED_VALIDATE 14*49cdfc7eSAndroid Build Coastguard Worker # define MAP_SHARED_VALIDATE 0x03 15*49cdfc7eSAndroid Build Coastguard Worker #endif 16*49cdfc7eSAndroid Build Coastguard Worker 17*49cdfc7eSAndroid Build Coastguard Worker #ifndef MAP_HUGETLB 18*49cdfc7eSAndroid Build Coastguard Worker # define MAP_HUGETLB 0x40000 19*49cdfc7eSAndroid Build Coastguard Worker #endif 20*49cdfc7eSAndroid Build Coastguard Worker 21*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_REMOVE 22*49cdfc7eSAndroid Build Coastguard Worker # define MADV_REMOVE 9 23*49cdfc7eSAndroid Build Coastguard Worker #endif 24*49cdfc7eSAndroid Build Coastguard Worker 25*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_DONTFORK 26*49cdfc7eSAndroid Build Coastguard Worker # define MADV_DONTFORK 10 27*49cdfc7eSAndroid Build Coastguard Worker #endif 28*49cdfc7eSAndroid Build Coastguard Worker 29*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_DOFORK 30*49cdfc7eSAndroid Build Coastguard Worker # define MADV_DOFORK 11 31*49cdfc7eSAndroid Build Coastguard Worker #endif 32*49cdfc7eSAndroid Build Coastguard Worker 33*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_HWPOISON 34*49cdfc7eSAndroid Build Coastguard Worker # define MADV_HWPOISON 100 35*49cdfc7eSAndroid Build Coastguard Worker #endif 36*49cdfc7eSAndroid Build Coastguard Worker 37*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_SOFT_OFFLINE 38*49cdfc7eSAndroid Build Coastguard Worker # define MADV_SOFT_OFFLINE 101 39*49cdfc7eSAndroid Build Coastguard Worker #endif 40*49cdfc7eSAndroid Build Coastguard Worker 41*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_MERGEABLE 42*49cdfc7eSAndroid Build Coastguard Worker # define MADV_MERGEABLE 12 43*49cdfc7eSAndroid Build Coastguard Worker #endif 44*49cdfc7eSAndroid Build Coastguard Worker 45*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_UNMERGEABLE 46*49cdfc7eSAndroid Build Coastguard Worker # define MADV_UNMERGEABLE 13 47*49cdfc7eSAndroid Build Coastguard Worker #endif 48*49cdfc7eSAndroid Build Coastguard Worker 49*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_HUGEPAGE 50*49cdfc7eSAndroid Build Coastguard Worker # define MADV_HUGEPAGE 14 51*49cdfc7eSAndroid Build Coastguard Worker #endif 52*49cdfc7eSAndroid Build Coastguard Worker 53*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_NOHUGEPAGE 54*49cdfc7eSAndroid Build Coastguard Worker # define MADV_NOHUGEPAGE 15 55*49cdfc7eSAndroid Build Coastguard Worker #endif 56*49cdfc7eSAndroid Build Coastguard Worker 57*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_DONTDUMP 58*49cdfc7eSAndroid Build Coastguard Worker # define MADV_DONTDUMP 16 59*49cdfc7eSAndroid Build Coastguard Worker #endif 60*49cdfc7eSAndroid Build Coastguard Worker 61*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_DODUMP 62*49cdfc7eSAndroid Build Coastguard Worker # define MADV_DODUMP 17 63*49cdfc7eSAndroid Build Coastguard Worker #endif 64*49cdfc7eSAndroid Build Coastguard Worker 65*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_FREE 66*49cdfc7eSAndroid Build Coastguard Worker # define MADV_FREE 8 67*49cdfc7eSAndroid Build Coastguard Worker #endif 68*49cdfc7eSAndroid Build Coastguard Worker 69*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_WIPEONFORK 70*49cdfc7eSAndroid Build Coastguard Worker # define MADV_WIPEONFORK 18 71*49cdfc7eSAndroid Build Coastguard Worker # define MADV_KEEPONFORK 19 72*49cdfc7eSAndroid Build Coastguard Worker #endif 73*49cdfc7eSAndroid Build Coastguard Worker 74*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_COLD 75*49cdfc7eSAndroid Build Coastguard Worker # define MADV_COLD 20 76*49cdfc7eSAndroid Build Coastguard Worker #endif 77*49cdfc7eSAndroid Build Coastguard Worker 78*49cdfc7eSAndroid Build Coastguard Worker #ifndef MADV_PAGEOUT 79*49cdfc7eSAndroid Build Coastguard Worker # define MADV_PAGEOUT 21 80*49cdfc7eSAndroid Build Coastguard Worker #endif 81*49cdfc7eSAndroid Build Coastguard Worker 82*49cdfc7eSAndroid Build Coastguard Worker #ifndef MAP_FIXED_NOREPLACE 83*49cdfc7eSAndroid Build Coastguard Worker 84*49cdfc7eSAndroid Build Coastguard Worker #ifdef __alpha__ 85*49cdfc7eSAndroid Build Coastguard Worker # define MAP_FIXED_NOREPLACE 0x200000 86*49cdfc7eSAndroid Build Coastguard Worker #else 87*49cdfc7eSAndroid Build Coastguard Worker # define MAP_FIXED_NOREPLACE 0x100000 88*49cdfc7eSAndroid Build Coastguard Worker #endif 89*49cdfc7eSAndroid Build Coastguard Worker 90*49cdfc7eSAndroid Build Coastguard Worker #endif /* MAP_FIXED_NOREPLACE */ 91*49cdfc7eSAndroid Build Coastguard Worker 92*49cdfc7eSAndroid Build Coastguard Worker #ifdef HAVE_SYS_SHM_H 93*49cdfc7eSAndroid Build Coastguard Worker # include <sys/shm.h> 94*49cdfc7eSAndroid Build Coastguard Worker # define MMAP_GRANULARITY SHMLBA 95*49cdfc7eSAndroid Build Coastguard Worker #else 96*49cdfc7eSAndroid Build Coastguard Worker # include <unistd.h> 97*49cdfc7eSAndroid Build Coastguard Worker # define MMAP_GRANULARITY getpagesize() 98*49cdfc7eSAndroid Build Coastguard Worker #endif /* HAVE_SYS_SHM_H */ 99*49cdfc7eSAndroid Build Coastguard Worker 100*49cdfc7eSAndroid Build Coastguard Worker #endif /* LAPI_MMAP_H__ */ 101