Commit 9295b7a07c859a42346221b5839be0ae612333b0

Authored by Ulrich Drepper
Committed by Linus Torvalds
1 parent a62e2f4f50

kbuild: install kernel-page-flags.h

Programs using /proc/kpageflags need to know about the various flags.  The
<linux/kernel-page-flags.h> provides them and the comments in the file
indicate that it is supposed to be used by user-level code.  But the file
is not installed.

Install the headers and mark the unstable flags as out-of-bounds.  The
page-type tool is also adjusted to not duplicate the definitions

Signed-off-by: Ulrich Drepper <drepper@gmail.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 3 changed files with 6 additions and 27 deletions Side-by-side Diff

include/linux/Kbuild
... ... @@ -225,6 +225,7 @@
225 225 header-y += kdev_t.h
226 226 header-y += kernel.h
227 227 header-y += kernelcapi.h
  228 +header-y += kernel-page-flags.h
228 229 header-y += keyboard.h
229 230 header-y += keyctl.h
230 231 header-y += l2tp.h
include/linux/kernel-page-flags.h
... ... @@ -32,6 +32,8 @@
32 32 #define KPF_KSM 21
33 33 #define KPF_THP 22
34 34  
  35 +#ifdef __KERNEL__
  36 +
35 37 /* kernel hacking assistances
36 38 * WARNING: subject to change, never rely on them!
37 39 */
... ... @@ -43,6 +45,8 @@
43 45 #define KPF_OWNER_PRIVATE 37
44 46 #define KPF_ARCH 38
45 47 #define KPF_UNCACHED 39
  48 +
  49 +#endif /* __KERNEL__ */
46 50  
47 51 #endif /* LINUX_KERNEL_PAGE_FLAGS_H */
tools/vm/page-types.c
... ... @@ -35,6 +35,7 @@
35 35 #include <sys/mount.h>
36 36 #include <sys/statfs.h>
37 37 #include "../../include/linux/magic.h"
  38 +#include "../../include/linux/kernel-page-flags.h"
38 39  
39 40  
40 41 #ifndef MAX_PATH
... ... @@ -72,33 +73,6 @@
72 73  
73 74 #define KPF_BYTES 8
74 75 #define PROC_KPAGEFLAGS "/proc/kpageflags"
75   -
76   -/* copied from kpageflags_read() */
77   -#define KPF_LOCKED 0
78   -#define KPF_ERROR 1
79   -#define KPF_REFERENCED 2
80   -#define KPF_UPTODATE 3
81   -#define KPF_DIRTY 4
82   -#define KPF_LRU 5
83   -#define KPF_ACTIVE 6
84   -#define KPF_SLAB 7
85   -#define KPF_WRITEBACK 8
86   -#define KPF_RECLAIM 9
87   -#define KPF_BUDDY 10
88   -
89   -/* [11-20] new additions in 2.6.31 */
90   -#define KPF_MMAP 11
91   -#define KPF_ANON 12
92   -#define KPF_SWAPCACHE 13
93   -#define KPF_SWAPBACKED 14
94   -#define KPF_COMPOUND_HEAD 15
95   -#define KPF_COMPOUND_TAIL 16
96   -#define KPF_HUGE 17
97   -#define KPF_UNEVICTABLE 18
98   -#define KPF_HWPOISON 19
99   -#define KPF_NOPAGE 20
100   -#define KPF_KSM 21
101   -#define KPF_THP 22
102 76  
103 77 /* [32-] kernel hacking assistances */
104 78 #define KPF_RESERVED 32