1dc1c8f94b222c7e2dead90d3c6cc8da09b4faf5
[bertos.git] / cfg / 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.1  2005/04/11 19:04:13  bernie
19  *#* Move top-level headers to cfg/ subdir.
20  *#*
21  *#* Revision 1.5  2004/08/25 14:12:08  rasky
22  *#* Aggiornato il comment block dei log RCS
23  *#*
24  *#* Revision 1.4  2004/08/24 16:19:38  bernie
25  *#* Add missing header.
26  *#*
27  *#* Revision 1.3  2004/07/30 14:24:16  rasky
28  *#* Task switching con salvataggio perfetto stato di interrupt (SR)
29  *#* Kernel monitor per dump informazioni su stack dei processi
30  *#*
31  *#* Revision 1.2  2004/06/03 11:27:09  bernie
32  *#* Add dual-license information.
33  *#*
34  *#* Revision 1.1  2004/05/23 17:48:35  bernie
35  *#* Add top-level files.
36  *#*
37  *#*/
38 #ifndef CONFIG_KERN_H
39 #define CONFIG_KERN_H
40
41 #include <arch_config.h>  /* ARCH_EMUL */
42
43 /*!
44  * \name Modules activation
45  *
46  * \{
47  */
48 /*      Module/option          Active    Dependencies */
49 #define CONFIG_KERN_SCHED       (1)
50 #define CONFIG_KERN_SIGNALS     (1    && CONFIG_KERN_SCHED)
51 #define CONFIG_KERN_TIMER       (1)
52 #define CONFIG_KERN_HEAP        (0)
53 #define CONFIG_KERN_SEMAPHORES  (0    && CONFIG_KERN_SIGNALS)
54 #define CONFIG_KERN_MONITOR     (1    && CONFIG_KERN_SCHED)
55 /*\}*/
56
57 /* EXPERIMENTAL */
58 #define CONFIG_KERN_PREEMPTIVE  (0    && CONFIG_KERN_SCHED && CONFIG_KERN_TIMER)
59
60
61 #define CONFIG_KERN_HEAPSIZE    0x4000  /*!< Heap size (16KB) */
62 #define CONFIG_KERN_QUANTUM     50      /*!< Scheduler time sharing quantum in ticks */
63
64 #if (ARCH & ARCH_EMUL)
65         #define CONFIG_KERN_DEFSTACKSIZE  65536
66 #else
67         #define CONFIG_KERN_DEFSTACKSIZE  128  /*!< Default stack size for each thread */
68 #endif
69
70 /* Memory fill codes to help debugging */
71 #if CONFIG_KERN_MONITOR
72         #define CONFIG_KERN_STACKFILLCODE  0xA5A5
73         #define CONFIG_KERN_MEMFILLCODE    0xDBDB
74 #endif
75
76
77 #endif /*  CONFIG_KERN_H */