Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6] / kernel / bounds.c
1 /*
2  * Generate definitions needed by the preprocessor.
3  * This code generates raw asm output which is post-processed
4  * to extract and format the required data.
5  */
6
7 #define __GENERATING_BOUNDS_H
8 /* Include headers that define the enum constants of interest */
9 #include <linux/page-flags.h>
10 #include <linux/mmzone.h>
11
12 #define DEFINE(sym, val) \
13         asm volatile("\n->" #sym " %0 " #val : : "i" (val))
14
15 #define BLANK() asm volatile("\n->" : : )
16
17 void foo(void)
18 {
19         /* The enum constants to put into include/linux/bounds.h */
20         DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
21         DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
22         /* End of constants */
23 }