xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/kernel.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #ifndef _LINUX_KERNEL_H
2*53ee8cc1Swenshuai.xi #define _LINUX_KERNEL_H
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi /*
5*53ee8cc1Swenshuai.xi  * 'kernel.h' contains some often-used function prototypes etc
6*53ee8cc1Swenshuai.xi  */
7*53ee8cc1Swenshuai.xi 
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi #define SI_LOAD_SHIFT	16
10*53ee8cc1Swenshuai.xi struct sysinfo {
11*53ee8cc1Swenshuai.xi 	long uptime;			/* Seconds since boot */
12*53ee8cc1Swenshuai.xi 	unsigned long loads[3];		/* 1, 5, and 15 minute load averages */
13*53ee8cc1Swenshuai.xi 	unsigned long totalram;		/* Total usable main memory size */
14*53ee8cc1Swenshuai.xi 	unsigned long freeram;		/* Available memory size */
15*53ee8cc1Swenshuai.xi 	unsigned long sharedram;	/* Amount of shared memory */
16*53ee8cc1Swenshuai.xi 	unsigned long bufferram;	/* Memory used by buffers */
17*53ee8cc1Swenshuai.xi 	unsigned long totalswap;	/* Total swap space size */
18*53ee8cc1Swenshuai.xi 	unsigned long freeswap;		/* swap space still available */
19*53ee8cc1Swenshuai.xi 	unsigned short procs;		/* Number of current processes */
20*53ee8cc1Swenshuai.xi 	unsigned short pad;		/* explicit padding for m68k */
21*53ee8cc1Swenshuai.xi 	unsigned long totalhigh;	/* Total high memory size */
22*53ee8cc1Swenshuai.xi 	unsigned long freehigh;		/* Available high memory size */
23*53ee8cc1Swenshuai.xi 	unsigned int mem_unit;		/* Memory unit size in bytes */
24*53ee8cc1Swenshuai.xi 	char _f[20-2*sizeof(long)-sizeof(int)];	/* Padding: libc5 uses this.. */
25*53ee8cc1Swenshuai.xi };
26*53ee8cc1Swenshuai.xi 
27*53ee8cc1Swenshuai.xi /* Force a compilation error if condition is true */
28*53ee8cc1Swenshuai.xi #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
29*53ee8cc1Swenshuai.xi 
30*53ee8cc1Swenshuai.xi /* Force a compilation error if condition is true, but also produce a
31*53ee8cc1Swenshuai.xi    result (of value 0 and type size_t), so the expression can be used
32*53ee8cc1Swenshuai.xi    e.g. in a structure initializer (or where-ever else comma expressions
33*53ee8cc1Swenshuai.xi    aren't permitted). */
34*53ee8cc1Swenshuai.xi #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1)
35*53ee8cc1Swenshuai.xi 
36*53ee8cc1Swenshuai.xi /* Trap pasters of __FUNCTION__ at compile-time */
37*53ee8cc1Swenshuai.xi #define __FUNCTION__ (__func__)
38*53ee8cc1Swenshuai.xi 
39*53ee8cc1Swenshuai.xi /* This helps us to avoid #ifdef CONFIG_NUMA */
40*53ee8cc1Swenshuai.xi #ifdef CONFIG_NUMA
41*53ee8cc1Swenshuai.xi #define NUMA_BUILD 1
42*53ee8cc1Swenshuai.xi #else
43*53ee8cc1Swenshuai.xi #define NUMA_BUILD 0
44*53ee8cc1Swenshuai.xi #endif
45*53ee8cc1Swenshuai.xi 
46*53ee8cc1Swenshuai.xi #endif
47