Add dual-license information.
[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.2  2004/06/03 11:27:09  bernie
19  * Add dual-license information.
20  *
21  * Revision 1.1  2004/05/23 17:48:35  bernie
22  * Add top-level files.
23  *
24  */
25 #ifndef CONFIG_KERN_H
26 #define CONFIG_KERN_H
27
28 /*!
29  * \name Modules activation
30  *
31  * \{
32  */
33 /*      Module/option          Active    Dependencies */
34 #define CONFIG_KERN_SCHED       (1)
35 #define CONFIG_KERN_SIGNALS     (1    && CONFIG_KERN_SCHED)
36 #define CONFIG_KERN_TIMER       (1    && CONFIG_KERN_SIGNALS)
37 #define CONFIG_KERN_HEAP        (0)
38 #define CONFIG_KERN_SEMAPHORES  (0    && CONFIG_KERN_SIGNALS)
39 /*\}*/
40
41 /* EXPERIMENTAL */
42 #define CONFIG_KERN_PREEMPTIVE  (0    && CONFIG_KERN_SCHED && CONFIG_KERN_TIMER)
43
44
45 #define CONFIG_KERN_HEAPSIZE    0x4000  /*!< Heap size (16KB) */
46 #define CONFIG_KERN_QUANTUM     50      /*!< Scheduler time sharing quantum in ticks */
47
48 #if (ARCH & ARCH_EMUL)
49         #define CONFIG_KERN_DEFSTACKSIZE  65536
50 #else
51         #define CONFIG_KERN_DEFSTACKSIZE  128  /*!< Default stack size for each thread */
52 #endif
53
54 /* Memory fill codes to help debugging */
55 #ifdef _DEBUG
56         #define CONFIG_KERN_STACKFILLCODE  0xE1
57         #define CONFIG_KERN_MEMFILLCODE    0xDB
58 #endif
59
60 #endif /*  CONFIG_KERN_H */