diff options
author | Wang Nan <wangnan0@huawei.com> | 2016-09-14 06:57:29 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-09-19 10:30:56 -0400 |
commit | f82b77462b8680b84e8cce955b05a6629cb44b36 (patch) | |
tree | c077ba254c51201e6b2405ef764ed45b069d2959 /tools | |
parent | f752e90e9c00da2a1994e2e1b1a04505b46a6a4c (diff) |
tools include: Add mman macros needed by perf for all arch
Some macros required by tools/perf/trace/beauty/mmap.c is not support
for all architectures. For example, MAP_32BIT is defined on x86 only,
alpha doesn't define MADV_HWPOISON and MADV_SOFT_OFFLINE.
This patch regenerates mman.h for each arch, defines these missing
macros for perf. For missing MADV_*, fall back to asm-generic/mman-common
because they are in a 'case ...' statement. For flags, define it to 0.
Following is the script to generate this patch:
macros=`cat $0 | awk 'V==1 {print}; /^# start macro list/ {V=1}'`
rm `find ./tools/arch/ -name mman.h`
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.tmp
real_target=tools/arch/$arch/include/uapi/asm/mman.h
guard="TOOLS_ARCH_"`echo $arch | awk '{print toupper($0)}'`_UAPI_ASM_MMAN_FIX_H
rm -f $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
touch $real_target
for m in $macros
do
if cat << EOF | gcc -Itools/arch/$arch/include -Itools/arch/$arch/include/uapi -Iinclude/ -Iinclude/uapi -E - | grep $m > /dev/null 2>&1
#include <uapi/asm/mman.h.tmp>
#include <uapi/linux/mman.h>
$m
EOF
then
echo "Fixing $m for $arch"
echo "/* $m is undefined on $arch, fix it for perf */" >> $target
if echo $m | grep '^MADV_' > /dev/null 2>&1
then
grep -h '#define[ \t]*'$m include/uapi/asm-generic/mman-common.h | sed 's/[ \t]*\/\*.*$//g' >> $target
else
echo "#define $m 0" >> $target
fi
fi
done
real_target=tools/arch/$arch/include/uapi/asm/mman.h
echo '#ifndef '$guard > $real_target
echo '#define '$guard >> $real_target
cat $target | sed 's|asm-generic|uapi/asm-generic|g' >> $real_target
echo '#endif' >> $real_target
rm $target
echo "$real_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_FREE
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>
Tested-by: Kim Phillips <kim.phillips@arm.com>
Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Fixes: 277cf08f3feb ("perf trace beauty mmap: Fix defines for non !x86_64")
Link: http://lkml.kernel.org/r/1473850649-83389-3-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
20 files changed, 66 insertions, 0 deletions
diff --git a/tools/arch/alpha/include/uapi/asm/mman.h b/tools/arch/alpha/include/uapi/asm/mman.h index 6ed4ad44a289..e38b64c82b97 100644 --- a/tools/arch/alpha/include/uapi/asm/mman.h +++ b/tools/arch/alpha/include/uapi/asm/mman.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define MADV_DONTDUMP 16 | 5 | #define MADV_DONTDUMP 16 |
6 | #define MADV_DONTFORK 10 | 6 | #define MADV_DONTFORK 10 |
7 | #define MADV_DONTNEED 6 | 7 | #define MADV_DONTNEED 6 |
8 | #define MADV_FREE 8 | ||
8 | #define MADV_HUGEPAGE 14 | 9 | #define MADV_HUGEPAGE 14 |
9 | #define MADV_MERGEABLE 12 | 10 | #define MADV_MERGEABLE 12 |
10 | #define MADV_NOHUGEPAGE 15 | 11 | #define MADV_NOHUGEPAGE 15 |
@@ -35,4 +36,12 @@ | |||
35 | #define PROT_READ 0x1 | 36 | #define PROT_READ 0x1 |
36 | #define PROT_SEM 0x8 | 37 | #define PROT_SEM 0x8 |
37 | #define PROT_WRITE 0x2 | 38 | #define PROT_WRITE 0x2 |
39 | /* MADV_HWPOISON is undefined on alpha, fix it for perf */ | ||
40 | #define MADV_HWPOISON 100 | ||
41 | /* MADV_SOFT_OFFLINE is undefined on alpha, fix it for perf */ | ||
42 | #define MADV_SOFT_OFFLINE 101 | ||
43 | /* MAP_32BIT is undefined on alpha, fix it for perf */ | ||
44 | #define MAP_32BIT 0 | ||
45 | /* MAP_UNINITIALIZED is undefined on alpha, fix it for perf */ | ||
46 | #define MAP_UNINITIALIZED 0 | ||
38 | #endif | 47 | #endif |
diff --git a/tools/arch/arc/include/uapi/asm/mman.h b/tools/arch/arc/include/uapi/asm/mman.h index f76765dbaafa..aa3acd2aa9af 100644 --- a/tools/arch/arc/include/uapi/asm/mman.h +++ b/tools/arch/arc/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on arc, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/arm/include/uapi/asm/mman.h b/tools/arch/arm/include/uapi/asm/mman.h index f2006385e203..478f699f56fd 100644 --- a/tools/arch/arm/include/uapi/asm/mman.h +++ b/tools/arch/arm/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on arm, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/arm64/include/uapi/asm/mman.h b/tools/arch/arm64/include/uapi/asm/mman.h index a7dd975bb33e..70fd3113710a 100644 --- a/tools/arch/arm64/include/uapi/asm/mman.h +++ b/tools/arch/arm64/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on arm64, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/frv/include/uapi/asm/mman.h b/tools/arch/frv/include/uapi/asm/mman.h index 99bba054e795..5be78ac12464 100644 --- a/tools/arch/frv/include/uapi/asm/mman.h +++ b/tools/arch/frv/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on frv, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/h8300/include/uapi/asm/mman.h b/tools/arch/h8300/include/uapi/asm/mman.h index df95096c2a7a..9d9ac54d3c5a 100644 --- a/tools/arch/h8300/include/uapi/asm/mman.h +++ b/tools/arch/h8300/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_H8300_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on h8300, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/hexagon/include/uapi/asm/mman.h b/tools/arch/hexagon/include/uapi/asm/mman.h index f1adcce90f37..102f3fae6085 100644 --- a/tools/arch/hexagon/include/uapi/asm/mman.h +++ b/tools/arch/hexagon/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_HEXAGON_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on hexagon, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/ia64/include/uapi/asm/mman.h b/tools/arch/ia64/include/uapi/asm/mman.h index 23420eb30d92..1d6e5ac6442d 100644 --- a/tools/arch/ia64/include/uapi/asm/mman.h +++ b/tools/arch/ia64/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_IA64_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on ia64, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/m32r/include/uapi/asm/mman.h b/tools/arch/m32r/include/uapi/asm/mman.h index a35ebd68add9..1c29635bb73b 100644 --- a/tools/arch/m32r/include/uapi/asm/mman.h +++ b/tools/arch/m32r/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_M32R_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on m32r, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/microblaze/include/uapi/asm/mman.h b/tools/arch/microblaze/include/uapi/asm/mman.h index 75f460abbe58..005cd50b50e1 100644 --- a/tools/arch/microblaze/include/uapi/asm/mman.h +++ b/tools/arch/microblaze/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_MICROBLAZE_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on microblaze, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/mips/include/uapi/asm/mman.h b/tools/arch/mips/include/uapi/asm/mman.h index db88fa41e74c..c02052965d50 100644 --- a/tools/arch/mips/include/uapi/asm/mman.h +++ b/tools/arch/mips/include/uapi/asm/mman.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define MADV_DONTDUMP 16 | 5 | #define MADV_DONTDUMP 16 |
6 | #define MADV_DONTFORK 10 | 6 | #define MADV_DONTFORK 10 |
7 | #define MADV_DONTNEED 4 | 7 | #define MADV_DONTNEED 4 |
8 | #define MADV_FREE 8 | ||
8 | #define MADV_HUGEPAGE 14 | 9 | #define MADV_HUGEPAGE 14 |
9 | #define MADV_HWPOISON 100 | 10 | #define MADV_HWPOISON 100 |
10 | #define MADV_MERGEABLE 12 | 11 | #define MADV_MERGEABLE 12 |
@@ -36,4 +37,10 @@ | |||
36 | #define PROT_READ 0x01 | 37 | #define PROT_READ 0x01 |
37 | #define PROT_SEM 0x10 | 38 | #define PROT_SEM 0x10 |
38 | #define PROT_WRITE 0x02 | 39 | #define PROT_WRITE 0x02 |
40 | /* MADV_SOFT_OFFLINE is undefined on mips, fix it for perf */ | ||
41 | #define MADV_SOFT_OFFLINE 101 | ||
42 | /* MAP_32BIT is undefined on mips, fix it for perf */ | ||
43 | #define MAP_32BIT 0 | ||
44 | /* MAP_UNINITIALIZED is undefined on mips, fix it for perf */ | ||
45 | #define MAP_UNINITIALIZED 0 | ||
39 | #endif | 46 | #endif |
diff --git a/tools/arch/mn10300/include/uapi/asm/mman.h b/tools/arch/mn10300/include/uapi/asm/mman.h index 81faa5d1b2dc..c1ea36d83acc 100644 --- a/tools/arch/mn10300/include/uapi/asm/mman.h +++ b/tools/arch/mn10300/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_MN10300_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on mn10300, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/parisc/include/uapi/asm/mman.h b/tools/arch/parisc/include/uapi/asm/mman.h index c4a9d9f12d55..03d8d5b7ae7f 100644 --- a/tools/arch/parisc/include/uapi/asm/mman.h +++ b/tools/arch/parisc/include/uapi/asm/mman.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define MADV_DONTDUMP 69 | 5 | #define MADV_DONTDUMP 69 |
6 | #define MADV_DONTFORK 10 | 6 | #define MADV_DONTFORK 10 |
7 | #define MADV_DONTNEED 4 | 7 | #define MADV_DONTNEED 4 |
8 | #define MADV_FREE 8 | ||
8 | #define MADV_HUGEPAGE 67 | 9 | #define MADV_HUGEPAGE 67 |
9 | #define MADV_MERGEABLE 65 | 10 | #define MADV_MERGEABLE 65 |
10 | #define MADV_NOHUGEPAGE 68 | 11 | #define MADV_NOHUGEPAGE 68 |
@@ -35,4 +36,12 @@ | |||
35 | #define PROT_READ 0x1 | 36 | #define PROT_READ 0x1 |
36 | #define PROT_SEM 0x8 | 37 | #define PROT_SEM 0x8 |
37 | #define PROT_WRITE 0x2 | 38 | #define PROT_WRITE 0x2 |
39 | /* MADV_HWPOISON is undefined on parisc, fix it for perf */ | ||
40 | #define MADV_HWPOISON 100 | ||
41 | /* MADV_SOFT_OFFLINE is undefined on parisc, fix it for perf */ | ||
42 | #define MADV_SOFT_OFFLINE 101 | ||
43 | /* MAP_32BIT is undefined on parisc, fix it for perf */ | ||
44 | #define MAP_32BIT 0 | ||
45 | /* MAP_UNINITIALIZED is undefined on parisc, fix it for perf */ | ||
46 | #define MAP_UNINITIALIZED 0 | ||
38 | #endif | 47 | #endif |
diff --git a/tools/arch/powerpc/include/uapi/asm/mman.h b/tools/arch/powerpc/include/uapi/asm/mman.h index 7a56ab9988dd..761db43172fe 100644 --- a/tools/arch/powerpc/include/uapi/asm/mman.h +++ b/tools/arch/powerpc/include/uapi/asm/mman.h | |||
@@ -10,4 +10,6 @@ | |||
10 | #define MAP_POPULATE 0x8000 | 10 | #define MAP_POPULATE 0x8000 |
11 | #define MAP_STACK 0x20000 | 11 | #define MAP_STACK 0x20000 |
12 | #include <uapi/asm-generic/mman-common.h> | 12 | #include <uapi/asm-generic/mman-common.h> |
13 | /* MAP_32BIT is undefined on powerpc, fix it for perf */ | ||
14 | #define MAP_32BIT 0 | ||
13 | #endif | 15 | #endif |
diff --git a/tools/arch/s390/include/uapi/asm/mman.h b/tools/arch/s390/include/uapi/asm/mman.h index fe53b91405d3..b03dea9e1f56 100644 --- a/tools/arch/s390/include/uapi/asm/mman.h +++ b/tools/arch/s390/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_S390_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on s390, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/score/include/uapi/asm/mman.h b/tools/arch/score/include/uapi/asm/mman.h index ba1ee9ce9f6a..2f8fb89944fd 100644 --- a/tools/arch/score/include/uapi/asm/mman.h +++ b/tools/arch/score/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_SCORE_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on score, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/sh/include/uapi/asm/mman.h b/tools/arch/sh/include/uapi/asm/mman.h index 5a47d8cff786..26504f6f060e 100644 --- a/tools/arch/sh/include/uapi/asm/mman.h +++ b/tools/arch/sh/include/uapi/asm/mman.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H | 1 | #ifndef TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H |
2 | #define TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H | 2 | #define TOOLS_ARCH_SH_UAPI_ASM_MMAN_FIX_H |
3 | #include <uapi/asm-generic/mman.h> | 3 | #include <uapi/asm-generic/mman.h> |
4 | /* MAP_32BIT is undefined on sh, fix it for perf */ | ||
5 | #define MAP_32BIT 0 | ||
4 | #endif | 6 | #endif |
diff --git a/tools/arch/sparc/include/uapi/asm/mman.h b/tools/arch/sparc/include/uapi/asm/mman.h index b88f3ac9c48a..8640525de991 100644 --- a/tools/arch/sparc/include/uapi/asm/mman.h +++ b/tools/arch/sparc/include/uapi/asm/mman.h | |||
@@ -10,4 +10,6 @@ | |||
10 | #define MAP_POPULATE 0x8000 | 10 | #define MAP_POPULATE 0x8000 |
11 | #define MAP_STACK 0x20000 | 11 | #define MAP_STACK 0x20000 |
12 | #include <uapi/asm-generic/mman-common.h> | 12 | #include <uapi/asm-generic/mman-common.h> |
13 | /* MAP_32BIT is undefined on sparc, fix it for perf */ | ||
14 | #define MAP_32BIT 0 | ||
13 | #endif | 15 | #endif |
diff --git a/tools/arch/tile/include/uapi/asm/mman.h b/tools/arch/tile/include/uapi/asm/mman.h index b0a054f27a22..7116c4b928b3 100644 --- a/tools/arch/tile/include/uapi/asm/mman.h +++ b/tools/arch/tile/include/uapi/asm/mman.h | |||
@@ -10,4 +10,6 @@ | |||
10 | #define MAP_POPULATE 0x0040 | 10 | #define MAP_POPULATE 0x0040 |
11 | #define MAP_STACK MAP_GROWSDOWN | 11 | #define MAP_STACK MAP_GROWSDOWN |
12 | #include <uapi/asm-generic/mman-common.h> | 12 | #include <uapi/asm-generic/mman-common.h> |
13 | /* MAP_32BIT is undefined on tile, fix it for perf */ | ||
14 | #define MAP_32BIT 0 | ||
13 | #endif | 15 | #endif |
diff --git a/tools/arch/xtensa/include/uapi/asm/mman.h b/tools/arch/xtensa/include/uapi/asm/mman.h index 1c89538bd391..4453195c450c 100644 --- a/tools/arch/xtensa/include/uapi/asm/mman.h +++ b/tools/arch/xtensa/include/uapi/asm/mman.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define MADV_DONTDUMP 16 | 5 | #define MADV_DONTDUMP 16 |
6 | #define MADV_DONTFORK 10 | 6 | #define MADV_DONTFORK 10 |
7 | #define MADV_DONTNEED 4 | 7 | #define MADV_DONTNEED 4 |
8 | #define MADV_FREE 8 | ||
8 | #define MADV_HUGEPAGE 14 | 9 | #define MADV_HUGEPAGE 14 |
9 | #define MADV_MERGEABLE 12 | 10 | #define MADV_MERGEABLE 12 |
10 | #define MADV_NOHUGEPAGE 15 | 11 | #define MADV_NOHUGEPAGE 15 |
@@ -35,4 +36,12 @@ | |||
35 | #define PROT_READ 0x1 | 36 | #define PROT_READ 0x1 |
36 | #define PROT_SEM 0x10 | 37 | #define PROT_SEM 0x10 |
37 | #define PROT_WRITE 0x2 | 38 | #define PROT_WRITE 0x2 |
39 | /* MADV_HWPOISON is undefined on xtensa, fix it for perf */ | ||
40 | #define MADV_HWPOISON 100 | ||
41 | /* MADV_SOFT_OFFLINE is undefined on xtensa, fix it for perf */ | ||
42 | #define MADV_SOFT_OFFLINE 101 | ||
43 | /* MAP_32BIT is undefined on xtensa, fix it for perf */ | ||
44 | #define MAP_32BIT 0 | ||
45 | /* MAP_UNINITIALIZED is undefined on xtensa, fix it for perf */ | ||
46 | #define MAP_UNINITIALIZED 0 | ||
38 | #endif | 47 | #endif |