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>
87 lines
2.8 KiB
Plaintext
87 lines
2.8 KiB
Plaintext
tools/perf
|
|
tools/arch/alpha/include/asm/barrier.h
|
|
tools/arch/arm/include/asm/barrier.h
|
|
tools/arch/arm64/include/asm/barrier.h
|
|
tools/arch/ia64/include/asm/barrier.h
|
|
tools/arch/mips/include/asm/barrier.h
|
|
tools/arch/powerpc/include/asm/barrier.h
|
|
tools/arch/s390/include/asm/barrier.h
|
|
tools/arch/sh/include/asm/barrier.h
|
|
tools/arch/sparc/include/asm/barrier.h
|
|
tools/arch/sparc/include/asm/barrier_32.h
|
|
tools/arch/sparc/include/asm/barrier_64.h
|
|
tools/arch/tile/include/asm/barrier.h
|
|
tools/arch/x86/include/asm/barrier.h
|
|
tools/arch/x86/include/asm/cpufeatures.h
|
|
tools/arch/x86/include/asm/disabled-features.h
|
|
tools/arch/x86/include/asm/required-features.h
|
|
tools/arch/x86/include/uapi/asm/svm.h
|
|
tools/arch/x86/include/uapi/asm/vmx.h
|
|
tools/arch/x86/include/uapi/asm/kvm.h
|
|
tools/arch/x86/include/uapi/asm/kvm_perf.h
|
|
tools/arch/x86/lib/memcpy_64.S
|
|
tools/arch/x86/lib/memset_64.S
|
|
tools/arch/s390/include/uapi/asm/kvm_perf.h
|
|
tools/arch/s390/include/uapi/asm/sie.h
|
|
tools/arch/xtensa/include/asm/barrier.h
|
|
tools/scripts
|
|
tools/build
|
|
tools/arch/x86/include/asm/atomic.h
|
|
tools/arch/x86/include/asm/rmwcc.h
|
|
tools/lib/traceevent
|
|
tools/lib/api
|
|
tools/lib/bpf
|
|
tools/lib/subcmd
|
|
tools/lib/hweight.c
|
|
tools/lib/rbtree.c
|
|
tools/lib/string.c
|
|
tools/lib/symbol/kallsyms.c
|
|
tools/lib/symbol/kallsyms.h
|
|
tools/lib/find_bit.c
|
|
tools/lib/bitmap.c
|
|
tools/lib/str_error_r.c
|
|
tools/lib/vsprintf.c
|
|
tools/include/asm/alternative-asm.h
|
|
tools/include/asm/atomic.h
|
|
tools/include/asm/barrier.h
|
|
tools/include/asm/bug.h
|
|
tools/include/asm-generic/atomic-gcc.h
|
|
tools/include/asm-generic/barrier.h
|
|
tools/include/asm-generic/bitops/arch_hweight.h
|
|
tools/include/asm-generic/bitops/atomic.h
|
|
tools/include/asm-generic/bitops/const_hweight.h
|
|
tools/include/asm-generic/bitops/__ffs.h
|
|
tools/include/asm-generic/bitops/__fls.h
|
|
tools/include/asm-generic/bitops/find.h
|
|
tools/include/asm-generic/bitops/fls64.h
|
|
tools/include/asm-generic/bitops/fls.h
|
|
tools/include/asm-generic/bitops/hweight.h
|
|
tools/include/asm-generic/bitops.h
|
|
tools/include/linux/atomic.h
|
|
tools/include/linux/bitops.h
|
|
tools/include/linux/compiler.h
|
|
tools/include/linux/coresight-pmu.h
|
|
tools/include/linux/filter.h
|
|
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
|
|
tools/include/linux/rbtree_augmented.h
|
|
tools/include/linux/string.h
|
|
tools/include/linux/stringify.h
|
|
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
|