xref: /minix3/minix/kernel/kernel.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #ifndef KERNEL_H
2*433d6423SLionel Sambuc #define KERNEL_H
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc /* boot verbose */
5*433d6423SLionel Sambuc #define CONFIG_BOOT_VERBOSE
6*433d6423SLionel Sambuc 
7*433d6423SLionel Sambuc #ifndef CONFIG_MAX_CPUS
8*433d6423SLionel Sambuc #define CONFIG_MAX_CPUS	1
9*433d6423SLionel Sambuc #endif
10*433d6423SLionel Sambuc 
11*433d6423SLionel Sambuc /* OXPCIe952 PCIe with 2 UARTs in-kernel support */
12*433d6423SLionel Sambuc #define CONFIG_OXPCIE	0
13*433d6423SLionel Sambuc 
14*433d6423SLionel Sambuc /* This is the master header for the kernel.  It includes some other files
15*433d6423SLionel Sambuc  * and defines the principal constants.
16*433d6423SLionel Sambuc  */
17*433d6423SLionel Sambuc #define _SYSTEM            1	/* tell headers that this is the kernel */
18*433d6423SLionel Sambuc 
19*433d6423SLionel Sambuc /*
20*433d6423SLionel Sambuc  * we need the defines above in assembly files to configure the kernel
21*433d6423SLionel Sambuc  * correctly. However we don't need the rest
22*433d6423SLionel Sambuc  */
23*433d6423SLionel Sambuc #ifndef __ASSEMBLY__
24*433d6423SLionel Sambuc 
25*433d6423SLionel Sambuc /* The following are so basic, all the *.c files get them automatically. */
26*433d6423SLionel Sambuc #include <minix/config.h>	/* global configuration, MUST be first */
27*433d6423SLionel Sambuc #include <sys/types.h>		/* general system types */
28*433d6423SLionel Sambuc #include <minix/const.h>	/* MINIX specific constants */
29*433d6423SLionel Sambuc #include <minix/type.h>		/* MINIX specific types, e.g. message */
30*433d6423SLionel Sambuc #include <minix/ipc.h>		/* MINIX run-time system */
31*433d6423SLionel Sambuc #include <minix/sysutil.h>	/* MINIX utility library functions */
32*433d6423SLionel Sambuc #include <minix/timers.h>		/* watchdog timer management */
33*433d6423SLionel Sambuc #include <errno.h>		/* return codes and error numbers */
34*433d6423SLionel Sambuc #include <sys/param.h>
35*433d6423SLionel Sambuc #include <minix/param.h>
36*433d6423SLionel Sambuc 
37*433d6423SLionel Sambuc /* Important kernel header files. */
38*433d6423SLionel Sambuc #include "kernel/config.h"		/* configuration, MUST be first */
39*433d6423SLionel Sambuc #include "kernel/const.h"		/* constants, MUST be second */
40*433d6423SLionel Sambuc #include "kernel/type.h"		/* type definitions, MUST be third */
41*433d6423SLionel Sambuc #include "kernel/proto.h"		/* function prototypes */
42*433d6423SLionel Sambuc #include "kernel/glo.h"		/* global variables */
43*433d6423SLionel Sambuc #include "kernel/ipc.h"		/* IPC constants */
44*433d6423SLionel Sambuc #include "kernel/profile.h"		/* system profiling */
45*433d6423SLionel Sambuc #include "kernel/proc.h"		/* process table */
46*433d6423SLionel Sambuc #include "kernel/cpulocals.h"		/* CPU-local variables */
47*433d6423SLionel Sambuc #include "kernel/debug.h"		/* debugging, MUST be last kernel header */
48*433d6423SLionel Sambuc 
49*433d6423SLionel Sambuc #ifndef CONFIG_SMP
50*433d6423SLionel Sambuc /* We only support 1 cpu now */
51*433d6423SLionel Sambuc #define CONFIG_MAX_CPUS	1
52*433d6423SLionel Sambuc #define cpuid		0
53*433d6423SLionel Sambuc /* this is always true on an uniprocessor */
54*433d6423SLionel Sambuc #define cpu_is_bsp(x) 1
55*433d6423SLionel Sambuc 
56*433d6423SLionel Sambuc #else
57*433d6423SLionel Sambuc 
58*433d6423SLionel Sambuc #include "kernel/smp.h"
59*433d6423SLionel Sambuc 
60*433d6423SLionel Sambuc #endif
61*433d6423SLionel Sambuc 
62*433d6423SLionel Sambuc #endif /* __ASSEMBLY__ */
63*433d6423SLionel Sambuc 
64*433d6423SLionel Sambuc #endif /* KERNEL_H */
65