bounds.c 791 B

123456789101112131415161718192021222324252627
  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. #include <linux/kbuild.h>
  11. #include <linux/page_cgroup.h>
  12. #include <linux/log2.h>
  13. #include <linux/spinlock_types.h>
  14. void foo(void)
  15. {
  16. /* The enum constants to put into include/generated/bounds.h */
  17. DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
  18. DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
  19. DEFINE(NR_PCG_FLAGS, __NR_PCG_FLAGS);
  20. #ifdef CONFIG_SMP
  21. DEFINE(NR_CPUS_BITS, ilog2(CONFIG_NR_CPUS));
  22. #endif
  23. DEFINE(BLOATED_SPINLOCKS, sizeof(spinlock_t) > sizeof(int));
  24. /* End of constants */
  25. }