X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fcfg_kern.h;h=dd987b93c19aba8cbbf312d6d4f771071076c35a;hb=5d5cb6250eacac50a8a587296e109c787764f5b8;hp=1c716c9712493c88f2c862c8e98a53d991d090e7;hpb=cf6017f59fb2ff71423c716ad9d9f60a1b65c7d0;p=bertos.git diff --git a/bertos/cfg/cfg_kern.h b/bertos/cfg/cfg_kern.h index 1c716c97..dd987b93 100644 --- a/bertos/cfg/cfg_kern.h +++ b/bertos/cfg/cfg_kern.h @@ -26,8 +26,8 @@ * 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 + * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/) + * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti * --> * * \brief Kernel configuration parameters @@ -39,45 +39,44 @@ #ifndef CFG_KERN_H #define CFG_KERN_H -#include "cfg/cfg_arch.h" /* ARCH_EMUL */ - /** * Enable the multithreading kernel. + * + * $WIZ$ type = "boolean" */ -#define CONFIG_KERN 0 -#define CONFIG_KERNEL CONFIG_KERN // OBSOLETE +#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 Optional kernel features - * \{ + * [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_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) -/*\}*/ - -// 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 -/// Module logging level. +/** + * 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 */