idle: Use C-friendly syntax
[bertos.git] / bertos / cfg / cfg_kern.h
index 368e59d0387fed43e07a9602542dca0f24e41c55..1c716c9712493c88f2c862c8e98a53d991d090e7 100644 (file)
  *
  * 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 */