Commit-ID:  f3539c12d8196ce0a1993364d30b3a18908470d1
Gitweb:     http://git.kernel.org/tip/f3539c12d8196ce0a1993364d30b3a18908470d1
Author:     Wang Nan <wangn...@huawei.com>
AuthorDate: Mon, 12 Sep 2016 12:54:29 +0000
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Tue, 13 Sep 2016 15:26:08 -0300

tools include: Add uapi mman.h for each architecture

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 <wangn...@huawei.com>
Cc: Zefan Li <lize...@huawei.com>
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1473684871-209320-2-git-send-email-wangn...@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 <a...@redhat.com>
---
 tools/arch/alpha/include/uapi/asm/mman.h           | 38 +++++++++++++++++++++
 tools/arch/arc/include/uapi/asm/mman.h             |  4 +++
 tools/arch/arm/include/uapi/asm/mman.h             |  4 +++
 tools/arch/arm64/include/uapi/asm/mman.h           |  4 +++
 tools/arch/frv/include/uapi/asm/mman.h             |  4 +++
 tools/arch/h8300/include/uapi/asm/mman.h           |  4 +++
 tools/arch/hexagon/include/uapi/asm/mman.h         |  4 +++
 tools/arch/ia64/include/uapi/asm/mman.h            |  4 +++
 tools/arch/m32r/include/uapi/asm/mman.h            |  4 +++
 tools/arch/microblaze/include/uapi/asm/mman.h      |  4 +++
 tools/arch/mips/include/uapi/asm/mman.h            | 39 ++++++++++++++++++++++
 tools/arch/mn10300/include/uapi/asm/mman.h         |  4 +++
 tools/arch/parisc/include/uapi/asm/mman.h          | 38 +++++++++++++++++++++
 tools/arch/powerpc/include/uapi/asm/mman.h         | 13 ++++++++
 tools/arch/s390/include/uapi/asm/mman.h            |  4 +++
 tools/arch/score/include/uapi/asm/mman.h           |  4 +++
 tools/arch/sh/include/uapi/asm/mman.h              |  4 +++
 tools/arch/sparc/include/uapi/asm/mman.h           | 13 ++++++++
 tools/arch/tile/include/uapi/asm/mman.h            | 13 ++++++++
 tools/arch/x86/include/uapi/asm/mman.h             |  5 +++
 tools/arch/xtensa/include/uapi/asm/mman.h          | 38 +++++++++++++++++++++
 .../include}/uapi/asm-generic/mman-common.h        |  0
 tools/include/uapi/asm-generic/mman.h              | 22 ++++++++++++
 tools/include/uapi/linux/mman.h                    | 13 ++++++++
 tools/perf/MANIFEST                                |  4 +++
 25 files changed, 288 insertions(+)

diff --git a/tools/arch/alpha/include/uapi/asm/mman.h 
b/tools/arch/alpha/include/uapi/asm/mman.h
new file mode 100644
index 0000000..6ed4ad4
--- /dev/null
+++ b/tools/arch/alpha/include/uapi/asm/mman.h
@@ -0,0 +1,38 @@
+#ifndef TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
+#define MADV_DODUMP    17
+#define MADV_DOFORK    11
+#define MADV_DONTDUMP   16
+#define MADV_DONTFORK  10
+#define MADV_DONTNEED  6
+#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  0x10
+#define MAP_DENYWRITE  0x02000
+#define MAP_EXECUTABLE 0x04000
+#define MAP_FILE       0
+#define MAP_FIXED      0x100
+#define MAP_GROWSDOWN  0x01000
+#define MAP_HUGETLB    0x100000
+#define MAP_LOCKED     0x08000
+#define MAP_NONBLOCK   0x40000
+#define MAP_NORESERVE  0x10000
+#define MAP_POPULATE   0x20000
+#define MAP_PRIVATE    0x02
+#define MAP_SHARED     0x01
+#define MAP_STACK      0x80000
+#define PROT_EXEC      0x4
+#define PROT_GROWSDOWN 0x01000000
+#define PROT_GROWSUP   0x02000000
+#define PROT_NONE      0x0
+#define PROT_READ      0x1
+#define PROT_SEM       0x8
+#define PROT_WRITE     0x2
+#endif
diff --git a/tools/arch/arc/include/uapi/asm/mman.h 
b/tools/arch/arc/include/uapi/asm/mman.h
new file mode 100644
index 0000000..f76765d
--- /dev/null
+++ b/tools/arch/arc/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/arm/include/uapi/asm/mman.h 
b/tools/arch/arm/include/uapi/asm/mman.h
new file mode 100644
index 0000000..f200638
--- /dev/null
+++ b/tools/arch/arm/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/arm64/include/uapi/asm/mman.h 
b/tools/arch/arm64/include/uapi/asm/mman.h
new file mode 100644
index 0000000..a7dd975
--- /dev/null
+++ b/tools/arch/arm64/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/frv/include/uapi/asm/mman.h 
b/tools/arch/frv/include/uapi/asm/mman.h
new file mode 100644
index 0000000..99bba05
--- /dev/null
+++ b/tools/arch/frv/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/h8300/include/uapi/asm/mman.h 
b/tools/arch/h8300/include/uapi/asm/mman.h
new file mode 100644
index 0000000..df95096
--- /dev/null
+++ b/tools/arch/h8300/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/hexagon/include/uapi/asm/mman.h 
b/tools/arch/hexagon/include/uapi/asm/mman.h
new file mode 100644
index 0000000..f1adcce
--- /dev/null
+++ b/tools/arch/hexagon/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/ia64/include/uapi/asm/mman.h 
b/tools/arch/ia64/include/uapi/asm/mman.h
new file mode 100644
index 0000000..23420eb
--- /dev/null
+++ b/tools/arch/ia64/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/m32r/include/uapi/asm/mman.h 
b/tools/arch/m32r/include/uapi/asm/mman.h
new file mode 100644
index 0000000..a35ebd6
--- /dev/null
+++ b/tools/arch/m32r/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/microblaze/include/uapi/asm/mman.h 
b/tools/arch/microblaze/include/uapi/asm/mman.h
new file mode 100644
index 0000000..75f460a
--- /dev/null
+++ b/tools/arch/microblaze/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/mips/include/uapi/asm/mman.h 
b/tools/arch/mips/include/uapi/asm/mman.h
new file mode 100644
index 0000000..db88fa4
--- /dev/null
+++ b/tools/arch/mips/include/uapi/asm/mman.h
@@ -0,0 +1,39 @@
+#ifndef TOOLS_ARCH_MIPS_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MIPS_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_HWPOISON   100
+#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      0x04
+#define PROT_GROWSDOWN 0x01000000
+#define PROT_GROWSUP   0x02000000
+#define PROT_NONE      0x00
+#define PROT_READ      0x01
+#define PROT_SEM       0x10
+#define PROT_WRITE     0x02
+#endif
diff --git a/tools/arch/mn10300/include/uapi/asm/mman.h 
b/tools/arch/mn10300/include/uapi/asm/mman.h
new file mode 100644
index 0000000..81faa5d
--- /dev/null
+++ b/tools/arch/mn10300/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/parisc/include/uapi/asm/mman.h 
b/tools/arch/parisc/include/uapi/asm/mman.h
new file mode 100644
index 0000000..c4a9d9f
--- /dev/null
+++ b/tools/arch/parisc/include/uapi/asm/mman.h
@@ -0,0 +1,38 @@
+#ifndef TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H
+#define MADV_DODUMP    70
+#define MADV_DOFORK    11
+#define MADV_DONTDUMP   69
+#define MADV_DONTFORK  10
+#define MADV_DONTNEED   4
+#define MADV_HUGEPAGE  67
+#define MADV_MERGEABLE   65
+#define MADV_NOHUGEPAGE        68
+#define MADV_NORMAL     0
+#define MADV_RANDOM     1
+#define MADV_REMOVE    9
+#define MADV_SEQUENTIAL 2
+#define MADV_UNMERGEABLE 66
+#define MADV_WILLNEED   3
+#define MAP_ANONYMOUS  0x10
+#define MAP_DENYWRITE  0x0800
+#define MAP_EXECUTABLE 0x1000
+#define MAP_FILE       0
+#define MAP_FIXED      0x04
+#define MAP_GROWSDOWN  0x8000
+#define MAP_HUGETLB    0x80000
+#define MAP_LOCKED     0x2000
+#define MAP_NONBLOCK   0x20000
+#define MAP_NORESERVE  0x4000
+#define MAP_POPULATE   0x10000
+#define MAP_PRIVATE    0x02
+#define MAP_SHARED     0x01
+#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       0x8
+#define PROT_WRITE     0x2
+#endif
diff --git a/tools/arch/powerpc/include/uapi/asm/mman.h 
b/tools/arch/powerpc/include/uapi/asm/mman.h
new file mode 100644
index 0000000..7a56ab9
--- /dev/null
+++ b/tools/arch/powerpc/include/uapi/asm/mman.h
@@ -0,0 +1,13 @@
+#ifndef TOOLS_ARCH_POWERPC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_POWERPC_UAPI_ASM_MMAN_FIX_H
+#define MAP_DENYWRITE  0x0800
+#define MAP_EXECUTABLE 0x1000
+#define MAP_GROWSDOWN  0x0100
+#define MAP_HUGETLB    0x40000
+#define MAP_LOCKED     0x80
+#define MAP_NONBLOCK   0x10000
+#define MAP_NORESERVE   0x40
+#define MAP_POPULATE   0x8000
+#define MAP_STACK      0x20000
+#include <uapi/asm-generic/mman-common.h>
+#endif
diff --git a/tools/arch/s390/include/uapi/asm/mman.h 
b/tools/arch/s390/include/uapi/asm/mman.h
new file mode 100644
index 0000000..fe53b91
--- /dev/null
+++ b/tools/arch/s390/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/score/include/uapi/asm/mman.h 
b/tools/arch/score/include/uapi/asm/mman.h
new file mode 100644
index 0000000..ba1ee9c
--- /dev/null
+++ b/tools/arch/score/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/sh/include/uapi/asm/mman.h 
b/tools/arch/sh/include/uapi/asm/mman.h
new file mode 100644
index 0000000..5a47d8c
--- /dev/null
+++ b/tools/arch/sh/include/uapi/asm/mman.h
@@ -0,0 +1,4 @@
+#ifndef TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/sparc/include/uapi/asm/mman.h 
b/tools/arch/sparc/include/uapi/asm/mman.h
new file mode 100644
index 0000000..b88f3ac
--- /dev/null
+++ b/tools/arch/sparc/include/uapi/asm/mman.h
@@ -0,0 +1,13 @@
+#ifndef TOOLS_ARCH_SPARC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SPARC_UAPI_ASM_MMAN_FIX_H
+#define MAP_DENYWRITE  0x0800
+#define MAP_EXECUTABLE 0x1000
+#define MAP_GROWSDOWN  0x0200
+#define MAP_HUGETLB    0x40000
+#define MAP_LOCKED      0x100
+#define MAP_NONBLOCK   0x10000
+#define MAP_NORESERVE   0x40
+#define MAP_POPULATE   0x8000
+#define MAP_STACK      0x20000
+#include <uapi/asm-generic/mman-common.h>
+#endif
diff --git a/tools/arch/tile/include/uapi/asm/mman.h 
b/tools/arch/tile/include/uapi/asm/mman.h
new file mode 100644
index 0000000..b0a054f
--- /dev/null
+++ b/tools/arch/tile/include/uapi/asm/mman.h
@@ -0,0 +1,13 @@
+#ifndef TOOLS_ARCH_TILE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_TILE_UAPI_ASM_MMAN_FIX_H
+#define MAP_DENYWRITE  0x0800
+#define MAP_EXECUTABLE 0x1000
+#define MAP_GROWSDOWN  0x0100
+#define MAP_HUGETLB    0x4000
+#define MAP_LOCKED     0x0200
+#define MAP_NONBLOCK   0x0080
+#define MAP_NORESERVE  0x0400
+#define MAP_POPULATE   0x0040
+#define MAP_STACK      MAP_GROWSDOWN
+#include <uapi/asm-generic/mman-common.h>
+#endif
diff --git a/tools/arch/x86/include/uapi/asm/mman.h 
b/tools/arch/x86/include/uapi/asm/mman.h
new file mode 100644
index 0000000..b73c1af
--- /dev/null
+++ b/tools/arch/x86/include/uapi/asm/mman.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_X86_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_X86_UAPI_ASM_MMAN_FIX_H
+#define MAP_32BIT      0x40
+#include <uapi/asm-generic/mman.h>
+#endif
diff --git a/tools/arch/xtensa/include/uapi/asm/mman.h 
b/tools/arch/xtensa/include/uapi/asm/mman.h
new file mode 100644
index 0000000..1c89538
--- /dev/null
+++ b/tools/arch/xtensa/include/uapi/asm/mman.h
@@ -0,0 +1,38 @@
+#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
diff --git a/include/uapi/asm-generic/mman-common.h 
b/tools/include/uapi/asm-generic/mman-common.h
similarity index 100%
copy from include/uapi/asm-generic/mman-common.h
copy to tools/include/uapi/asm-generic/mman-common.h
diff --git a/tools/include/uapi/asm-generic/mman.h 
b/tools/include/uapi/asm-generic/mman.h
new file mode 100644
index 0000000..10fa785
--- /dev/null
+++ b/tools/include/uapi/asm-generic/mman.h
@@ -0,0 +1,22 @@
+#ifndef __ASM_GENERIC_MMAN_H
+#define __ASM_GENERIC_MMAN_H
+
+#include <uapi/asm-generic/mman-common.h>
+
+#define MAP_GROWSDOWN  0x0100          /* stack-like segment */
+#define MAP_DENYWRITE  0x0800          /* ETXTBSY */
+#define MAP_EXECUTABLE 0x1000          /* mark it as an executable */
+#define MAP_LOCKED     0x2000          /* pages are locked */
+#define MAP_NORESERVE  0x4000          /* don't check for reservations */
+#define MAP_POPULATE   0x8000          /* populate (prefault) pagetables */
+#define MAP_NONBLOCK   0x10000         /* do not block on IO */
+#define MAP_STACK      0x20000         /* give out an address that is best 
suited for process/thread stacks */
+#define MAP_HUGETLB    0x40000         /* create a huge page mapping */
+
+/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
+
+#define MCL_CURRENT    1               /* lock all current mappings */
+#define MCL_FUTURE     2               /* lock all future mappings */
+#define MCL_ONFAULT    4               /* lock all pages that are faulted in */
+
+#endif /* __ASM_GENERIC_MMAN_H */
diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h
new file mode 100644
index 0000000..81d8edf
--- /dev/null
+++ b/tools/include/uapi/linux/mman.h
@@ -0,0 +1,13 @@
+#ifndef _UAPI_LINUX_MMAN_H
+#define _UAPI_LINUX_MMAN_H
+
+#include <uapi/asm/mman.h>
+
+#define MREMAP_MAYMOVE 1
+#define MREMAP_FIXED   2
+
+#define OVERCOMMIT_GUESS               0
+#define OVERCOMMIT_ALWAYS              1
+#define OVERCOMMIT_NEVER               2
+
+#endif /* _UAPI_LINUX_MMAN_H */
diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
index ff200c6..0bda2cc 100644
--- a/tools/perf/MANIFEST
+++ b/tools/perf/MANIFEST
@@ -66,9 +66,12 @@ tools/include/linux/hash.h
 tools/include/linux/kernel.h
 tools/include/linux/list.h
 tools/include/linux/log2.h
+tools/include/uapi/asm-generic/mman-common.h
+tools/include/uapi/asm-generic/mman.h
 tools/include/uapi/linux/bpf.h
 tools/include/uapi/linux/bpf_common.h
 tools/include/uapi/linux/hw_breakpoint.h
+tools/include/uapi/linux/mman.h
 tools/include/uapi/linux/perf_event.h
 tools/include/linux/poison.h
 tools/include/linux/rbtree.h
@@ -79,4 +82,5 @@ tools/include/linux/types.h
 tools/include/linux/err.h
 tools/include/linux/bitmap.h
 tools/include/linux/time64.h
+tools/arch/*/include/uapi/asm/mman.h
 tools/arch/*/include/uapi/asm/perf_regs.h

Reply via email to