blob: e1d1d1952bfa37eaafd87486e03555051e16283c [file] [log] [blame]
Christoph Lameter1cdf25d2008-04-28 02:12:44 -07001/*
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 */
Christoph Lameter9223b412008-04-28 02:12:48 -07009#include <linux/page-flags.h>
Christoph Lameter97965472008-04-28 02:12:54 -070010#include <linux/mmzone.h>
Christoph Lameter37487a52008-04-29 01:03:49 -070011#include <linux/kbuild.h>
Peter Zijlstra90572892013-10-07 11:29:20 +010012#include <linux/log2.h>
Kirill A. Shutemov24b9fdc2013-11-18 10:47:27 +020013#include <linux/spinlock_types.h>
Christoph Lameter1cdf25d2008-04-28 02:12:44 -070014
15void foo(void)
16{
Sam Ravnborg01fc0ac2009-04-19 21:57:19 +020017 /* The enum constants to put into include/generated/bounds.h */
Christoph Lameter9223b412008-04-28 02:12:48 -070018 DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
Christoph Lameter97965472008-04-28 02:12:54 -070019 DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
Peter Zijlstra90572892013-10-07 11:29:20 +010020#ifdef CONFIG_SMP
21 DEFINE(NR_CPUS_BITS, ilog2(CONFIG_NR_CPUS));
22#endif
Kirill A. Shutemov597d7952013-12-20 13:35:58 +020023 DEFINE(SPINLOCK_SIZE, sizeof(spinlock_t));
Christoph Lameter1cdf25d2008-04-28 02:12:44 -070024 /* End of constants */
25}