*
* Copyright 2001,2004 Develer S.r.l. (http://www.develer.com/)
* Copyright 1999,2000,2001 Bernie Innocenti <bernie@codewiz.org>
- *
* -->
*
* \brief Kernel configuration parameters
*
* \version $Id$
- *
* \author Bernie Innocenti <bernie@codewiz.org>
*/
#include "cfg/cfg_arch.h" /* ARCH_EMUL */
/**
- * Multithreading kernel.
+ * Enable the multithreading kernel.
*/
-#define CONFIG_KERNEL 0
+#define CONFIG_KERN 0
+#define CONFIG_KERNEL CONFIG_KERN // OBSOLETE
/**
- * \name Modules activation
- *
+ * \name Optional kernel features
* \{
*/
/* 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_IRQ (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_PREEMPT (0 && CONFIG_KERN_SCHED && CONFIG_TIMER_EVENTS && CONFIG_KERN_IRQ)
+#define CONFIG_KERN_PRI (0 && CINFIG_KERN_PREEMPT)
/*\}*/
-/* EXPERIMENTAL */
-#define CONFIG_KERN_PREEMPTIVE (0 && CONFIG_KERN_SCHED && CONFIG_KERN_TIMER)
+// FIXME: move somewhere
+#define CONFIG_DEPEND(FEATURE, DEPENDENCIES) STATIC_ASSERT(!(FEATURE) || !!(DEPS))
+
+CONFIG_DEPEND(CONFIG_KERN_PRI, CONFIG_KERN_PREEMPT);
+
+
+/* OBSOLETE */
+#define CONFIG_KERN_PREEMPTIVE CONFIG_KERN_PREEMPT
+
+/// [ms] Time sharing quantum (a prime number prevents interference effects)
+#define CONFIG_KERN_QUANTUM 47
-#define CONFIG_KERN_QUANTUM 50 /**< Time sharing quantum in timer ticks. */
+/// Module logging level.
+#define KERN_LOG_LEVEL LOG_LVL_ERR
+/// Module logging format.
+#define KERN_LOG_FORMAT LOG_FMT_VERBOSE
#endif /* CFG_KERN_H */