19 #ifndef _COBALT_KERNEL_SCHED_WEAK_H
20 #define _COBALT_KERNEL_SCHED_WEAK_H
22 #ifndef _COBALT_KERNEL_SCHED_H
23 #error "please don't include cobalt/kernel/sched-weak.h directly"
31 #ifdef CONFIG_XENO_OPT_SCHED_WEAK
33 #define XNSCHED_WEAK_MIN_PRIO 0
34 #define XNSCHED_WEAK_MAX_PRIO 99
35 #define XNSCHED_WEAK_NR_PRIO \
36 (XNSCHED_WEAK_MAX_PRIO - XNSCHED_WEAK_MIN_PRIO + 1)
38 #if XNSCHED_WEAK_NR_PRIO > XNSCHED_CLASS_WEIGHT_FACTOR || \
39 (defined(CONFIG_XENO_OPT_SCALABLE_SCHED) && \
40 XNSCHED_WEAK_NR_PRIO > XNSCHED_MLQ_LEVELS)
41 #error "WEAK class has too many priority levels"
44 extern struct xnsched_class xnsched_class_weak;
47 xnsched_queue_t runnable;
50 static inline int xnsched_weak_init_thread(
struct xnthread *thread)