Add some macros to document more code.
[bertos.git] / config_kern.h
1 /*!
2  * \file
3  * <!--
4  * Copyright 2001,2004 Develer S.r.l. (http://www.develer.com/)
5  * Copyright 1999,2000,2001 Bernardo Innocenti <bernie@develer.com>
6  * This file is part of DevLib - See devlib/README for information.
7  * -->
8  *
9  * \brief Kernel configuration parameters
10  *
11  * \version $Id$
12  *
13  * \author Bernardo Innocenti <bernie@develer.com>
14  */
15
16 /*#*
17  *#* $Log$
18  *#* Revision 1.5  2004/08/25 14:12:08  rasky
19  *#* Aggiornato il comment block dei log RCS
20  *#*
21  *#* Revision 1.4  2004/08/24 16:19:38  bernie
22  *#* Add missing header.
23  *#*
24  *#* Revision 1.3  2004/07/30 14:24:16  rasky
25  *#* Task switching con salvataggio perfetto stato di interrupt (SR)
26  *#* Kernel monitor per dump informazioni su stack dei processi
27  *#*
28  *#* Revision 1.2  2004/06/03 11:27:09  bernie
29  *#* Add dual-license information.
30  *#*
31  *#* Revision 1.1  2004/05/23 17:48:35  bernie
32  *#* Add top-level files.
33  *#*
34  *#*/
35 #ifndef CONFIG_KERN_H
36 #define CONFIG_KERN_H
37
38 #include <arch_config.h>  /* ARCH_EMUL */
39
40 /*!
41  * \name Modules activation
42  *
43  * \{
44  */
45 /*      Module/option          Active    Dependencies */
46 #define CONFIG_KERN_SCHED       (1)
47 #define CONFIG_KERN_SIGNALS     (1    && CONFIG_KERN_SCHED)
48 #define CONFIG_KERN_TIMER       (1)
49 #define CONFIG_KERN_HEAP        (0)
50 #define CONFIG_KERN_SEMAPHORES  (0    && CONFIG_KERN_SIGNALS)
51 #define CONFIG_KERN_MONITOR     (1    && CONFIG_KERN_SCHED)
52 /*\}*/
53
54 /* EXPERIMENTAL */
55 #define CONFIG_KERN_PREEMPTIVE  (0    && CONFIG_KERN_SCHED && CONFIG_KERN_TIMER)
56
57
58 #define CONFIG_KERN_HEAPSIZE    0x4000  /*!< Heap size (16KB) */
59 #define CONFIG_KERN_QUANTUM     50      /*!< Scheduler time sharing quantum in ticks */
60
61 #if (ARCH & ARCH_EMUL)
62         #define CONFIG_KERN_DEFSTACKSIZE  65536
63 #else
64         #define CONFIG_KERN_DEFSTACKSIZE  128  /*!< Default stack size for each thread */
65 #endif
66
67 /* Memory fill codes to help debugging */
68 #if CONFIG_KERN_MONITOR
69         #define CONFIG_KERN_STACKFILLCODE  0xA5A5
70         #define CONFIG_KERN_MEMFILLCODE    0xDBDB
71 #endif
72
73
74 #endif /*  CONFIG_KERN_H */