bounds.c 566 B

123456789101112131415161718192021
  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. #define DEFINE(sym, val) \
  10. asm volatile("\n->" #sym " %0 " #val : : "i" (val))
  11. #define BLANK() asm volatile("\n->" : : )
  12. void foo(void)
  13. {
  14. /* The enum constants to put into include/linux/bounds.h */
  15. DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
  16. /* End of constants */
  17. }