linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wang Nan <wangnan0@huawei.com>
To: <acme@kernel.org>
Cc: <nilayvaish@gmail.com>, <linux-kernel@vger.kernel.org>,
	<lizefan@huawei.com>, Wang Nan <wangnan0@huawei.com>,
	Hou Pengyang <houpengyang@huawei.com>,
	He Kuang <hekuang@huawei.com>,
	"Arnaldo Carvalho de Melo" <acme@redhat.com>
Subject: [PATCH 1/2] perf tools: Introduce memory mapping macros in mman-fix.h
Date: Tue, 6 Sep 2016 05:48:51 +0000	[thread overview]
Message-ID: <1473140932-143524-2-git-send-email-wangnan0@huawei.com> (raw)
In-Reply-To: <1473140932-143524-1-git-send-email-wangnan0@huawei.com>

tools/perf/trace/beauty/mmap.c, tools/perf/util/event.c and
tools/perf/util/map.c depend on several macros in mman.h, which
are lost on old systems like ubuntu 12.04. They are architecture
dependened macros. Importing ./arch/*/include/uapi/asm/mman.h
into tools/ is not easy because mman.h for some unusual archs
(like tile) have extra dependencies.

This patch introduces only required macros into mman-fix.h.
Macros list is gotten from tools/perf/trace/beauty/mmap.c.

This patch is gnerated using following bash script:

 #!/bin/bash

 function begin_mman_fix_header()
 {
   echo "#ifndef $1" >  $2
   echo "#define $1" >> $2
   echo "#include <sys/mman.h>" >> $2
 }

 function finish_mman_fix_header()
 {
   echo "#endif // $1" >> $2
   echo "Finish writing $2"
 }

 function build_mman_fix_header()
 {
   guard=$1
   shift
   target=$1
   shift
   begin_mman_fix_header $guard $target
   for src in $@
   do
     if [ -f $src ]
     then
       for macro in $macros
       do
         if grep '#define[ \t]*'$macro $src > /dev/null 2>&1
         then
           echo "#ifndef $macro" >> $target
           grep '#define[ \t]*'$macro $src | sed 's/[ \t]*\/\*.*$//g' >> $target
           echo "#endif" >> $target
         fi
       done
     fi
   done
 }

 macros=`grep ifndef tools/perf/trace/beauty/mmap.c | awk '{print $2}'`

 baseheader=tools/include/uapi/asm-generic/mman-fix.h
 build_mman_fix_header __TOOLS_UAPI_ASM_MMAN_FIX_H $baseheader include/uapi/asm-generic/mman*
 echo "#ifndef MAP_UNINITIALIZED" >> $baseheader
 echo "#define MAP_UNINITIALIZED 0x4000000" >> $baseheader
 echo "#endif" >> $baseheader
 finish_mman_fix_header __TOOLS_UAPI_ASM_MMAN_FIX_H $baseheader

 archs=`ls tools/arch`
 for arch in $archs
 do
   archheader=tools/arch/$arch/include/uapi/asm/mman-fix.h
   if [ ! -d tools/arch/$arch/include/uapi/asm ]
   then
     mkdir -p tools/arch/$arch/include/uapi/asm
   fi
   uppercase=`echo $arch | awk '{print toupper($0)}'`
   build_mman_fix_header TOOLS_ARCH_${uppercase}_UAPI_ASM_MMAN_FIX_H $archheader arch/$arch/include/uapi/asm/mman.h
   echo "#include <asm-generic/mman-fix.h>" >> $archheader
   finish_mman_fix_header TOOLS_ARCH_${uppercase}_UAPI_ASM_MMAN_FIX_H $archheader
 done

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Nilay Vaish <nilayvaish@gmail.com>
Cc: Hou Pengyang <houpengyang@huawei.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/arch/alpha/include/uapi/asm/mman-fix.h      | 38 +++++++++++++++++++
 tools/arch/arm/include/uapi/asm/mman-fix.h        |  5 +++
 tools/arch/arm64/include/uapi/asm/mman-fix.h      |  5 +++
 tools/arch/frv/include/uapi/asm/mman-fix.h        |  5 +++
 tools/arch/h8300/include/uapi/asm/mman-fix.h      |  5 +++
 tools/arch/hexagon/include/uapi/asm/mman-fix.h    |  5 +++
 tools/arch/ia64/include/uapi/asm/mman-fix.h       |  5 +++
 tools/arch/m32r/include/uapi/asm/mman-fix.h       |  5 +++
 tools/arch/microblaze/include/uapi/asm/mman-fix.h |  5 +++
 tools/arch/mips/include/uapi/asm/mman-fix.h       | 41 ++++++++++++++++++++
 tools/arch/mn10300/include/uapi/asm/mman-fix.h    |  5 +++
 tools/arch/parisc/include/uapi/asm/mman-fix.h     | 38 +++++++++++++++++++
 tools/arch/powerpc/include/uapi/asm/mman-fix.h    | 11 ++++++
 tools/arch/s390/include/uapi/asm/mman-fix.h       |  5 +++
 tools/arch/score/include/uapi/asm/mman-fix.h      |  5 +++
 tools/arch/sh/include/uapi/asm/mman-fix.h         |  5 +++
 tools/arch/sparc/include/uapi/asm/mman-fix.h      | 11 ++++++
 tools/arch/tile/include/uapi/asm/mman-fix.h       | 11 ++++++
 tools/arch/x86/include/uapi/asm/mman-fix.h        |  8 ++++
 tools/arch/xtensa/include/uapi/asm/mman-fix.h     | 38 +++++++++++++++++++
 tools/include/uapi/asm-generic/mman-fix.h         | 46 +++++++++++++++++++++++
 tools/perf/MANIFEST                               |  2 +
 22 files changed, 304 insertions(+)
 create mode 100644 tools/arch/alpha/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/arm/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/arm64/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/frv/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/h8300/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/hexagon/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/ia64/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/m32r/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/microblaze/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/mips/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/mn10300/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/parisc/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/powerpc/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/s390/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/score/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/sh/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/sparc/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/tile/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/x86/include/uapi/asm/mman-fix.h
 create mode 100644 tools/arch/xtensa/include/uapi/asm/mman-fix.h
 create mode 100644 tools/include/uapi/asm-generic/mman-fix.h

diff --git a/tools/arch/alpha/include/uapi/asm/mman-fix.h b/tools/arch/alpha/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..f807a71
--- /dev/null
+++ b/tools/arch/alpha/include/uapi/asm/mman-fix.h
@@ -0,0 +1,38 @@
+#ifndef TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef PROT_SEM
+#define PROT_SEM	0x8
+#endif
+#ifndef MAP_FIXED
+#define MAP_FIXED	0x100
+#endif
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS	0x10
+#endif
+#ifndef MAP_STACK
+#define MAP_STACK	0x80000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x100000
+#endif
+#ifndef MADV_MERGEABLE
+#define MADV_MERGEABLE   12
+#endif
+#ifndef MADV_UNMERGEABLE
+#define MADV_UNMERGEABLE 13
+#endif
+#ifndef MADV_HUGEPAGE
+#define MADV_HUGEPAGE	14
+#endif
+#ifndef MADV_NOHUGEPAGE
+#define MADV_NOHUGEPAGE	15
+#endif
+#ifndef MADV_DONTDUMP
+#define MADV_DONTDUMP   16
+#endif
+#ifndef MADV_DODUMP
+#define MADV_DODUMP	17
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/arm/include/uapi/asm/mman-fix.h b/tools/arch/arm/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..a29dae1
--- /dev/null
+++ b/tools/arch/arm/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/arm64/include/uapi/asm/mman-fix.h b/tools/arch/arm64/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..e50c0d1
--- /dev/null
+++ b/tools/arch/arm64/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/frv/include/uapi/asm/mman-fix.h b/tools/arch/frv/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..8c2eb44
--- /dev/null
+++ b/tools/arch/frv/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/h8300/include/uapi/asm/mman-fix.h b/tools/arch/h8300/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..e639fe6
--- /dev/null
+++ b/tools/arch/h8300/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/hexagon/include/uapi/asm/mman-fix.h b/tools/arch/hexagon/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..dda9359
--- /dev/null
+++ b/tools/arch/hexagon/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/ia64/include/uapi/asm/mman-fix.h b/tools/arch/ia64/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..1e98f36
--- /dev/null
+++ b/tools/arch/ia64/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/m32r/include/uapi/asm/mman-fix.h b/tools/arch/m32r/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..74aa94d
--- /dev/null
+++ b/tools/arch/m32r/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/microblaze/include/uapi/asm/mman-fix.h b/tools/arch/microblaze/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..90b7a53
--- /dev/null
+++ b/tools/arch/microblaze/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/mips/include/uapi/asm/mman-fix.h b/tools/arch/mips/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..ef58cd7
--- /dev/null
+++ b/tools/arch/mips/include/uapi/asm/mman-fix.h
@@ -0,0 +1,41 @@
+#ifndef TOOLS_ARCH_MIPS_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MIPS_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef PROT_SEM
+#define PROT_SEM	0x10
+#endif
+#ifndef MAP_FIXED
+#define MAP_FIXED	0x010
+#endif
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS	0x0800
+#endif
+#ifndef MAP_STACK
+#define MAP_STACK	0x40000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x80000
+#endif
+#ifndef MADV_HWPOISON
+#define MADV_HWPOISON	 100
+#endif
+#ifndef MADV_MERGEABLE
+#define MADV_MERGEABLE	 12
+#endif
+#ifndef MADV_UNMERGEABLE
+#define MADV_UNMERGEABLE 13
+#endif
+#ifndef MADV_HUGEPAGE
+#define MADV_HUGEPAGE	14
+#endif
+#ifndef MADV_NOHUGEPAGE
+#define MADV_NOHUGEPAGE 15
+#endif
+#ifndef MADV_DONTDUMP
+#define MADV_DONTDUMP	16
+#endif
+#ifndef MADV_DODUMP
+#define MADV_DODUMP	17
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_MIPS_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/mn10300/include/uapi/asm/mman-fix.h b/tools/arch/mn10300/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..86a2903
--- /dev/null
+++ b/tools/arch/mn10300/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/parisc/include/uapi/asm/mman-fix.h b/tools/arch/parisc/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..c157a03
--- /dev/null
+++ b/tools/arch/parisc/include/uapi/asm/mman-fix.h
@@ -0,0 +1,38 @@
+#ifndef TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef PROT_SEM
+#define PROT_SEM	0x8
+#endif
+#ifndef MAP_FIXED
+#define MAP_FIXED	0x04
+#endif
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS	0x10
+#endif
+#ifndef MAP_STACK
+#define MAP_STACK	0x40000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x80000
+#endif
+#ifndef MADV_MERGEABLE
+#define MADV_MERGEABLE   65
+#endif
+#ifndef MADV_UNMERGEABLE
+#define MADV_UNMERGEABLE 66
+#endif
+#ifndef MADV_HUGEPAGE
+#define MADV_HUGEPAGE	67
+#endif
+#ifndef MADV_NOHUGEPAGE
+#define MADV_NOHUGEPAGE	68
+#endif
+#ifndef MADV_DONTDUMP
+#define MADV_DONTDUMP   69
+#endif
+#ifndef MADV_DODUMP
+#define MADV_DODUMP	70
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/powerpc/include/uapi/asm/mman-fix.h b/tools/arch/powerpc/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..4b552fa
--- /dev/null
+++ b/tools/arch/powerpc/include/uapi/asm/mman-fix.h
@@ -0,0 +1,11 @@
+#ifndef TOOLS_ARCH_POWERPC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_POWERPC_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef MAP_STACK
+#define MAP_STACK	0x20000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x40000
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_POWERPC_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/s390/include/uapi/asm/mman-fix.h b/tools/arch/s390/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..d7755dd
--- /dev/null
+++ b/tools/arch/s390/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/score/include/uapi/asm/mman-fix.h b/tools/arch/score/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..97ad192
--- /dev/null
+++ b/tools/arch/score/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/sh/include/uapi/asm/mman-fix.h b/tools/arch/sh/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..d17bca8
--- /dev/null
+++ b/tools/arch/sh/include/uapi/asm/mman-fix.h
@@ -0,0 +1,5 @@
+#ifndef TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/sparc/include/uapi/asm/mman-fix.h b/tools/arch/sparc/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..3ac4ba0
--- /dev/null
+++ b/tools/arch/sparc/include/uapi/asm/mman-fix.h
@@ -0,0 +1,11 @@
+#ifndef TOOLS_ARCH_SPARC_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_SPARC_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef MAP_STACK
+#define MAP_STACK	0x20000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x40000
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_SPARC_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/tile/include/uapi/asm/mman-fix.h b/tools/arch/tile/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..105a3b0e
--- /dev/null
+++ b/tools/arch/tile/include/uapi/asm/mman-fix.h
@@ -0,0 +1,11 @@
+#ifndef TOOLS_ARCH_TILE_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_TILE_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef MAP_STACK
+#define MAP_STACK	MAP_GROWSDOWN
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x4000
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_TILE_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/x86/include/uapi/asm/mman-fix.h b/tools/arch/x86/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..0cda2bf
--- /dev/null
+++ b/tools/arch/x86/include/uapi/asm/mman-fix.h
@@ -0,0 +1,8 @@
+#ifndef TOOLS_ARCH_X86_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_X86_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef MAP_32BIT
+#define MAP_32BIT	0x40
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_X86_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/arch/xtensa/include/uapi/asm/mman-fix.h b/tools/arch/xtensa/include/uapi/asm/mman-fix.h
new file mode 100644
index 0000000..9ec9051
--- /dev/null
+++ b/tools/arch/xtensa/include/uapi/asm/mman-fix.h
@@ -0,0 +1,38 @@
+#ifndef TOOLS_ARCH_XTENSA_UAPI_ASM_MMAN_FIX_H
+#define TOOLS_ARCH_XTENSA_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef PROT_SEM
+#define PROT_SEM	0x10
+#endif
+#ifndef MAP_FIXED
+#define MAP_FIXED	0x010
+#endif
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS	0x0800
+#endif
+#ifndef MAP_STACK
+#define MAP_STACK	0x40000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x80000
+#endif
+#ifndef MADV_MERGEABLE
+#define MADV_MERGEABLE   12
+#endif
+#ifndef MADV_UNMERGEABLE
+#define MADV_UNMERGEABLE 13
+#endif
+#ifndef MADV_HUGEPAGE
+#define MADV_HUGEPAGE	14
+#endif
+#ifndef MADV_NOHUGEPAGE
+#define MADV_NOHUGEPAGE	15
+#endif
+#ifndef MADV_DONTDUMP
+#define MADV_DONTDUMP   16
+#endif
+#ifndef MADV_DODUMP
+#define MADV_DODUMP	17
+#endif
+#include <asm-generic/mman-fix.h>
+#endif // TOOLS_ARCH_XTENSA_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/include/uapi/asm-generic/mman-fix.h b/tools/include/uapi/asm-generic/mman-fix.h
new file mode 100644
index 0000000..f47eb4c
--- /dev/null
+++ b/tools/include/uapi/asm-generic/mman-fix.h
@@ -0,0 +1,46 @@
+#ifndef __TOOLS_UAPI_ASM_MMAN_FIX_H
+#define __TOOLS_UAPI_ASM_MMAN_FIX_H
+#include <sys/mman.h>
+#ifndef PROT_SEM
+#define PROT_SEM	0x8
+#endif
+#ifndef MAP_FIXED
+#define MAP_FIXED	0x10
+#endif
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS	0x20
+#endif
+#ifndef MADV_HWPOISON
+#define MADV_HWPOISON	100
+#endif
+#ifndef MADV_SOFT_OFFLINE
+#define MADV_SOFT_OFFLINE 101
+#endif
+#ifndef MADV_MERGEABLE
+#define MADV_MERGEABLE   12
+#endif
+#ifndef MADV_UNMERGEABLE
+#define MADV_UNMERGEABLE 13
+#endif
+#ifndef MADV_HUGEPAGE
+#define MADV_HUGEPAGE	14
+#endif
+#ifndef MADV_NOHUGEPAGE
+#define MADV_NOHUGEPAGE	15
+#endif
+#ifndef MADV_DONTDUMP
+#define MADV_DONTDUMP   16
+#endif
+#ifndef MADV_DODUMP
+#define MADV_DODUMP	17
+#endif
+#ifndef MAP_STACK
+#define MAP_STACK	0x20000
+#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB	0x40000
+#endif
+#ifndef MAP_UNINITIALIZED
+#define MAP_UNINITIALIZED 0x4000000
+#endif
+#endif // __TOOLS_UAPI_ASM_MMAN_FIX_H
diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
index ff200c6..56ac24f 100644
--- a/tools/perf/MANIFEST
+++ b/tools/perf/MANIFEST
@@ -66,6 +66,7 @@ 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-fix.h
 tools/include/uapi/linux/bpf.h
 tools/include/uapi/linux/bpf_common.h
 tools/include/uapi/linux/hw_breakpoint.h
@@ -80,3 +81,4 @@ tools/include/linux/err.h
 tools/include/linux/bitmap.h
 tools/include/linux/time64.h
 tools/arch/*/include/uapi/asm/perf_regs.h
+tools/arch/*/include/uapi/asm/mman-fix.h
-- 
1.8.3.4

  reply	other threads:[~2016-09-06  5:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-06  5:48 [PATCH 0/2] Fix mman macros using mman-fix.h Wang Nan
2016-09-06  5:48 ` Wang Nan [this message]
2016-09-06 12:59   ` [PATCH 1/2] perf tools: Introduce memory mapping macros in mman-fix.h Arnaldo Carvalho de Melo
2016-09-06 13:25     ` Wangnan (F)
2016-09-06 13:39       ` Arnaldo Carvalho de Melo
2016-09-06 15:28         ` Wangnan (F)
2016-09-06 17:43           ` Arnaldo Carvalho de Melo
2016-09-06  5:48 ` [PATCH 2/2] perf tools: Fix mman macros using mman-fix.h Wang Nan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1473140932-143524-2-git-send-email-wangnan0@huawei.com \
    --to=wangnan0@huawei.com \
    --cc=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=hekuang@huawei.com \
    --cc=houpengyang@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=nilayvaish@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).