* invalidate any other reasons why the executable file might be covered by
* the GNU General Public License.
*
- * Copyright 2001,2004 Develer S.r.l. (http://www.develer.com/)
- * Copyright 1999,2000,2001 Bernie Innocenti <bernie@codewiz.org>
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
* -->
*
* \brief Kernel configuration parameters
#ifndef CFG_KERN_H
#define CFG_KERN_H
-#include "cfg/cfg_arch.h" /* ARCH_EMUL */
-
/**
- * Multithreading kernel.
+ * Enable the multithreading kernel.
+ *
+ * $WIZ$ type = "boolean"
*/
-#define CONFIG_KERNEL 0
+#define CONFIG_KERN 1
+
+#define CONFIG_KERN_SCHED 1 ///< Process schedling. $WIZ$ type = "boolean"
+#define CONFIG_KERN_SIGNALS 1 ///< Inter-process signals. $WIZ$ type = "boolean"
+#define CONFIG_KERN_IRQ 0 ///< Interrupt supervisor. $WIZ$ type = "boolean"
+#define CONFIG_KERN_HEAP 0 ///< Dynamic memory allocation. $WIZ$ type = "boolean"
+#define CONFIG_KERN_SEMAPHORES 1 ///< Re-entrant mutual exclusion primitives. $WIZ$ type = "boolean"
+#define CONFIG_KERN_MONITOR 1 ///< Process monitor. $WIZ$ type = "boolean"
+#define CONFIG_KERN_PREEMPT 0 ///< Preemptive process scheduling. $WIZ$ type = "boolean"
+#define CONFIG_KERN_PRI 0 ///< Priority-based scheduling policy. $WIZ$ type = "boolean"
/**
- * \name Modules activation
+ * [ms] Time sharing quantum (a prime number prevents interference effects)
*
- * \{
+ * $WIZ$ type = "int"
+ * $WIZ$ min = "0"
*/
-/* Module/option Active Dependencies */
-#define CONFIG_KERN_SCHED (0)
-#define CONFIG_KERN_SIGNALS (0 && CONFIG_KERN_SCHED)
-#define CONFIG_KERN_TIMER (0)
-#define CONFIG_KERN_HEAP (0)
-#define CONFIG_KERN_SEMAPHORES (0 && CONFIG_KERN_SIGNALS)
-#define CONFIG_KERN_MONITOR (0 && CONFIG_KERN_SCHED)
-/*\}*/
+#define CONFIG_KERN_QUANTUM 47
-/* EXPERIMENTAL */
-#define CONFIG_KERN_PREEMPTIVE (0 && CONFIG_KERN_SCHED && CONFIG_KERN_TIMER)
-
-/// Time sharing quantum in timer ticks.
-#define CONFIG_KERN_QUANTUM 50
-
-/// Module logging level.
-#define KERN_LOG_LEVEL LOG_LVL_INFO
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define KERN_LOG_LEVEL LOG_LVL_ERR
-/// Module logging format.
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
#define KERN_LOG_FORMAT LOG_FMT_VERBOSE
#endif /* CFG_KERN_H */