linux/kernel/bounds.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Generate definitions needed by the preprocessor.
   4 * This code generates raw asm output which is post-processed
   5 * to extract and format the required data.
   6 */
   7
   8#define __GENERATING_BOUNDS_H
   9/* Include headers that define the enum constants of interest */
  10#include <linux/page-flags.h>
  11#include <linux/mmzone.h>
  12#include <linux/kbuild.h>
  13#include <linux/log2.h>
  14#include <linux/spinlock_types.h>
  15
  16int main(void)
  17{
  18        /* The enum constants to put into include/generated/bounds.h */
  19        DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
  20        DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
  21#ifdef CONFIG_SMP
  22        DEFINE(NR_CPUS_BITS, ilog2(CONFIG_NR_CPUS));
  23#endif
  24        DEFINE(SPINLOCK_SIZE, sizeof(spinlock_t));
  25        /* End of constants */
  26
  27        return 0;
  28}
  29