forked from mirrors/linux
		
	 be709d4832
			
		
	
	
		be709d4832
		
	
	
	
	
		
			
			To deal with the move of some defines from asm-generic/mmap-common.h to
linux/mman.h done in:
  746c9398f5 ("arch: move common mmap flags to linux/mman.h")
The generated mmap_flags array stays the same:
  $ tools/perf/trace/beauty/mmap_flags.sh
  static const char *mmap_flags[] = {
	[ilog2(0x40) + 1] = "32BIT",
	[ilog2(0x01) + 1] = "SHARED",
	[ilog2(0x02) + 1] = "PRIVATE",
	[ilog2(0x10) + 1] = "FIXED",
	[ilog2(0x20) + 1] = "ANONYMOUS",
	[ilog2(0x100000) + 1] = "FIXED_NOREPLACE",
	[ilog2(0x0100) + 1] = "GROWSDOWN",
	[ilog2(0x0800) + 1] = "DENYWRITE",
	[ilog2(0x1000) + 1] = "EXECUTABLE",
	[ilog2(0x2000) + 1] = "LOCKED",
	[ilog2(0x4000) + 1] = "NORESERVE",
	[ilog2(0x8000) + 1] = "POPULATE",
	[ilog2(0x10000) + 1] = "NONBLOCK",
	[ilog2(0x20000) + 1] = "STACK",
	[ilog2(0x40000) + 1] = "HUGETLB",
	[ilog2(0x80000) + 1] = "SYNC",
  };
  $
And to have the system's sys/mman.h find the definition of MAP_SHARED
and MAP_PRIVATE, make sure they are defined in the tools/ mman-common.h
in a way that keeps it the same as the kernel's, need for keeping the
Android's NDK cross build working.
This silences these perf build warnings:
  Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h' differs from latest version at 'include/uapi/asm-generic/mman-common.h'
  diff -u tools/include/uapi/asm-generic/mman-common.h include/uapi/asm-generic/mman-common.h
  Warning: Kernel ABI header at 'tools/include/uapi/linux/mman.h' differs from latest version at 'include/uapi/linux/mman.h'
  diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-h80ycpc6pedg9s5z2rwpy6ws@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
		
	
			
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | |
| #ifndef _UAPI_LINUX_MMAN_H
 | |
| #define _UAPI_LINUX_MMAN_H
 | |
| 
 | |
| #include <asm/mman.h>
 | |
| #include <asm-generic/hugetlb_encode.h>
 | |
| 
 | |
| #define MREMAP_MAYMOVE	1
 | |
| #define MREMAP_FIXED	2
 | |
| 
 | |
| #define OVERCOMMIT_GUESS		0
 | |
| #define OVERCOMMIT_ALWAYS		1
 | |
| #define OVERCOMMIT_NEVER		2
 | |
| 
 | |
| #define MAP_SHARED	0x01		/* Share changes */
 | |
| #define MAP_PRIVATE	0x02		/* Changes are private */
 | |
| #define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
 | |
| 
 | |
| /*
 | |
|  * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
 | |
|  * size other than the default is desired.  See hugetlb_encode.h.
 | |
|  * All known huge page size encodings are provided here.  It is the
 | |
|  * responsibility of the application to know which sizes are supported on
 | |
|  * the running system.  See mmap(2) man page for details.
 | |
|  */
 | |
| #define MAP_HUGE_SHIFT	HUGETLB_FLAG_ENCODE_SHIFT
 | |
| #define MAP_HUGE_MASK	HUGETLB_FLAG_ENCODE_MASK
 | |
| 
 | |
| #define MAP_HUGE_64KB	HUGETLB_FLAG_ENCODE_64KB
 | |
| #define MAP_HUGE_512KB	HUGETLB_FLAG_ENCODE_512KB
 | |
| #define MAP_HUGE_1MB	HUGETLB_FLAG_ENCODE_1MB
 | |
| #define MAP_HUGE_2MB	HUGETLB_FLAG_ENCODE_2MB
 | |
| #define MAP_HUGE_8MB	HUGETLB_FLAG_ENCODE_8MB
 | |
| #define MAP_HUGE_16MB	HUGETLB_FLAG_ENCODE_16MB
 | |
| #define MAP_HUGE_32MB	HUGETLB_FLAG_ENCODE_32MB
 | |
| #define MAP_HUGE_256MB	HUGETLB_FLAG_ENCODE_256MB
 | |
| #define MAP_HUGE_512MB	HUGETLB_FLAG_ENCODE_512MB
 | |
| #define MAP_HUGE_1GB	HUGETLB_FLAG_ENCODE_1GB
 | |
| #define MAP_HUGE_2GB	HUGETLB_FLAG_ENCODE_2GB
 | |
| #define MAP_HUGE_16GB	HUGETLB_FLAG_ENCODE_16GB
 | |
| 
 | |
| #endif /* _UAPI_LINUX_MMAN_H */
 |