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