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