bounds.c 631 B

1234567891011121314151617181920212223
  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. #define __GENERATING_BOUNDS_H
  7. /* Include headers that define the enum constants of interest */
  8. #include <linux/page-flags.h>
  9. #include <linux/mmzone.h>
  10. #define DEFINE(sym, val) \
  11. asm volatile("\n->" #sym " %0 " #val : : "i" (val))
  12. #define BLANK() asm volatile("\n->" : : )
  13. void foo(void)
  14. {
  15. /* The enum constants to put into include/linux/bounds.h */
  16. DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
  17. DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
  18. /* End of constants */
  19. }