f3539c12d8
Some mmap related macros have different values for different architectures. This patch introduces uapi mman.h for each architectures. Three headers are cloned from kernel include to tools/include: tools/include/uapi/asm-generic/mman-common.h tools/include/uapi/asm-generic/mman.h tools/include/uapi/linux/mman.h The main part of this patch is generated by following script: macros=`cat $0 | awk 'V==1 {print}; /^# start macro list/ {V=1}'` for arch in `ls tools/arch` do [ -d tools/arch/$arch/include/uapi/asm ] || mkdir -p tools/arch/$arch/include/uapi/asm src=arch/$arch/include/uapi/asm/mman.h target=tools/arch/$arch/include/uapi/asm/mman.h guard="TOOLS_ARCH_"`echo $arch | awk '{print toupper($0)}'`_UAPI_ASM_MMAN_FIX_H echo '#ifndef '$guard > $target echo '#define '$guard >> $target [ -f $src ] && for m in $macros do if grep '#define[ \t]*'$m $src > /dev/null 2>&1 then grep -h '#define[ \t]*'$m $src | sed 's/[ \t]*\/\*.*$//g' >> $target fi done if [ -f $src ] then grep '#include <asm-generic' $src >> $target else echo "#include <asm-generic/mman.h>" >> $target fi echo '#endif' >> $target echo "$target" done exit 0 # Following macros are extracted from: # tools/perf/trace/beauty/mmap.c # # start macro list MADV_DODUMP MADV_DOFORK MADV_DONTDUMP MADV_DONTFORK MADV_DONTNEED MADV_HUGEPAGE MADV_HWPOISON MADV_MERGEABLE MADV_NOHUGEPAGE MADV_NORMAL MADV_RANDOM MADV_REMOVE MADV_SEQUENTIAL MADV_SOFT_OFFLINE MADV_UNMERGEABLE MADV_WILLNEED MAP_32BIT MAP_ANONYMOUS MAP_DENYWRITE MAP_EXECUTABLE MAP_FILE MAP_FIXED MAP_GROWSDOWN MAP_HUGETLB MAP_LOCKED MAP_NONBLOCK MAP_NORESERVE MAP_POPULATE MAP_PRIVATE MAP_SHARED MAP_STACK MAP_UNINITIALIZED MREMAP_FIXED MREMAP_MAYMOVE PROT_EXEC PROT_GROWSDOWN PROT_GROWSUP PROT_NONE PROT_READ PROT_SEM PROT_WRITE Signed-off-by: Wang Nan <wangnan0@huawei.com> Cc: Zefan Li <lizefan@huawei.com> Cc: pi3orama@163.com Link: http://lkml.kernel.org/r/1473684871-209320-2-git-send-email-wangnan0@huawei.com [ Added new files to tools/perf/MANIFEST to fix the detached tarball build, add mman.h for ARC ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
39 lines
1000 B
C
39 lines
1000 B
C
#ifndef TOOLS_ARCH_XTENSA_UAPI_ASM_MMAN_FIX_H
|
|
#define TOOLS_ARCH_XTENSA_UAPI_ASM_MMAN_FIX_H
|
|
#define MADV_DODUMP 17
|
|
#define MADV_DOFORK 11
|
|
#define MADV_DONTDUMP 16
|
|
#define MADV_DONTFORK 10
|
|
#define MADV_DONTNEED 4
|
|
#define MADV_HUGEPAGE 14
|
|
#define MADV_MERGEABLE 12
|
|
#define MADV_NOHUGEPAGE 15
|
|
#define MADV_NORMAL 0
|
|
#define MADV_RANDOM 1
|
|
#define MADV_REMOVE 9
|
|
#define MADV_SEQUENTIAL 2
|
|
#define MADV_UNMERGEABLE 13
|
|
#define MADV_WILLNEED 3
|
|
#define MAP_ANONYMOUS 0x0800
|
|
#define MAP_DENYWRITE 0x2000
|
|
#define MAP_EXECUTABLE 0x4000
|
|
#define MAP_FILE 0
|
|
#define MAP_FIXED 0x010
|
|
#define MAP_GROWSDOWN 0x1000
|
|
#define MAP_HUGETLB 0x80000
|
|
#define MAP_LOCKED 0x8000
|
|
#define MAP_NONBLOCK 0x20000
|
|
#define MAP_NORESERVE 0x0400
|
|
#define MAP_POPULATE 0x10000
|
|
#define MAP_PRIVATE 0x002
|
|
#define MAP_SHARED 0x001
|
|
#define MAP_STACK 0x40000
|
|
#define PROT_EXEC 0x4
|
|
#define PROT_GROWSDOWN 0x01000000
|
|
#define PROT_GROWSUP 0x02000000
|
|
#define PROT_NONE 0x0
|
|
#define PROT_READ 0x1
|
|
#define PROT_SEM 0x10
|
|
#define PROT_WRITE 0x2
|
|
#endif
|