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