2005-07-14 17:12:12 +02:00
|
|
|
#ifndef KERNEL_H
|
|
|
|
#define KERNEL_H
|
|
|
|
|
2009-11-16 22:41:44 +01:00
|
|
|
/* APIC is turned on by default */
|
2010-09-15 16:09:46 +02:00
|
|
|
#ifndef CONFIG_APIC
|
2009-11-16 22:41:44 +01:00
|
|
|
#define CONFIG_APIC
|
2010-09-15 16:09:46 +02:00
|
|
|
#endif
|
2009-11-16 22:41:44 +01:00
|
|
|
/* boot verbose */
|
|
|
|
#define CONFIG_BOOT_VERBOSE
|
2010-01-16 21:53:55 +01:00
|
|
|
/*
|
|
|
|
* compile in the nmi watchdog by default. It is not enabled until watchdog=1
|
|
|
|
* (non-zero) is set in monitor
|
|
|
|
*/
|
|
|
|
#define CONFIG_WATCHDOG
|
2010-09-15 16:09:52 +02:00
|
|
|
|
|
|
|
#ifndef CONFIG_MAX_CPUS
|
2010-01-16 21:53:55 +01:00
|
|
|
#define CONFIG_MAX_CPUS 1
|
2010-09-15 16:09:52 +02:00
|
|
|
#endif
|
2009-11-16 22:41:44 +01:00
|
|
|
|
2010-05-19 12:00:02 +02:00
|
|
|
/* OXPCIe952 PCIe with 2 UARTs in-kernel support */
|
|
|
|
#define CONFIG_OXPCIE 0
|
|
|
|
|
2005-04-21 16:53:53 +02:00
|
|
|
/* This is the master header for the kernel. It includes some other files
|
|
|
|
* and defines the principal constants.
|
|
|
|
*/
|
|
|
|
#define _POSIX_SOURCE 1 /* tell headers to include POSIX stuff */
|
|
|
|
#define _MINIX 1 /* tell headers to include MINIX stuff */
|
|
|
|
#define _SYSTEM 1 /* tell headers that this is the kernel */
|
|
|
|
|
2010-01-16 21:53:55 +01:00
|
|
|
/*
|
|
|
|
* we need the defines above in assembly files to configure the kernel
|
|
|
|
* correctly. However we don't need the rest
|
|
|
|
*/
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
2005-04-21 16:53:53 +02:00
|
|
|
/* The following are so basic, all the *.c files get them automatically. */
|
|
|
|
#include <minix/config.h> /* global configuration, MUST be first */
|
|
|
|
#include <ansi.h> /* C style: ANSI or K&R, MUST be second */
|
|
|
|
#include <sys/types.h> /* general system types */
|
|
|
|
#include <minix/const.h> /* MINIX specific constants */
|
|
|
|
#include <minix/type.h> /* MINIX specific types, e.g. message */
|
|
|
|
#include <minix/ipc.h> /* MINIX run-time system */
|
2009-12-02 12:52:26 +01:00
|
|
|
#include <minix/sysutil.h> /* MINIX utility library functions */
|
2005-04-21 16:53:53 +02:00
|
|
|
#include <timers.h> /* watchdog timer management */
|
|
|
|
#include <errno.h> /* return codes and error numbers */
|
2010-08-21 15:10:41 +02:00
|
|
|
#include <sys/param.h>
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2005-07-14 17:12:12 +02:00
|
|
|
/* Important kernel header files. */
|
|
|
|
#include "config.h" /* configuration, MUST be first */
|
|
|
|
#include "const.h" /* constants, MUST be second */
|
|
|
|
#include "type.h" /* type definitions, MUST be third */
|
|
|
|
#include "proto.h" /* function prototypes */
|
|
|
|
#include "glo.h" /* global variables */
|
|
|
|
#include "ipc.h" /* IPC constants */
|
2006-10-30 16:53:38 +01:00
|
|
|
#include "profile.h" /* system profiling */
|
2010-06-28 23:53:37 +02:00
|
|
|
#include "perf.h" /* performance-related definitions */
|
2005-07-14 17:12:12 +02:00
|
|
|
#include "debug.h" /* debugging, MUST be last kernel header */
|
2010-09-15 16:09:46 +02:00
|
|
|
#include "cpulocals.h"
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2010-09-15 16:09:52 +02:00
|
|
|
#ifndef CONFIG_SMP
|
|
|
|
/* We only support 1 cpu now */
|
|
|
|
#define CONFIG_MAX_CPUS 1
|
|
|
|
#define cpuid 0
|
2010-09-15 16:10:12 +02:00
|
|
|
/* this is always true on an uniprocessor */
|
|
|
|
#define cpu_is_bsp(x) 1
|
2010-09-15 16:09:52 +02:00
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
#include "smp.h"
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2010-01-16 21:53:55 +01:00
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
|
2005-07-14 17:12:12 +02:00
|
|
|
#endif /* KERNEL_H */
|