18 #ifndef _LIB_COBALT_INTERNAL_H 19 #define _LIB_COBALT_INTERNAL_H 22 #include <boilerplate/ancillaries.h> 23 #include <cobalt/sys/cobalt.h> 26 extern void *cobalt_umm_private;
28 extern void *cobalt_umm_shared;
30 static inline int cobalt_is_relaxed(
void)
32 return cobalt_get_current_mode() &
XNRELAX;
35 static inline int cobalt_should_warn(
void)
40 #ifdef CONFIG_XENO_LAZY_SETSCHED 41 static inline int cobalt_eager_setsched(
void)
43 return cobalt_is_relaxed();
46 static inline int cobalt_eager_setsched(
void)
53 struct cobalt_mutex_state *mutex_get_state(
struct cobalt_mutex_shadow *shadow)
55 if (shadow->attr.pshared)
56 return cobalt_umm_shared + shadow->state_offset;
58 return cobalt_umm_private + shadow->state_offset;
61 static inline atomic_t *mutex_get_ownerp(
struct cobalt_mutex_shadow *shadow)
63 return &mutex_get_state(shadow)->owner;
66 void cobalt_sigshadow_install_once(
void);
68 void cobalt_thread_init(
void);
70 int cobalt_thread_probe(pid_t pid);
72 void cobalt_sched_init(
void);
74 void cobalt_print_init(
void);
76 void cobalt_print_init_atfork(
void);
78 void cobalt_ticks_init(
unsigned long long freq);
80 void cobalt_mutex_init(
void);
82 void cobalt_default_condattr_init(
void);
84 int cobalt_xlate_schedparam(
int policy,
85 const struct sched_param_ex *param_ex,
86 struct sched_param *param);
87 int cobalt_init(
void);
89 struct cobalt_featinfo;
91 void cobalt_check_features(
struct cobalt_featinfo *finfo);
93 extern struct sigaction __cobalt_orig_sigdebug;
95 extern int __cobalt_std_fifo_minpri,
96 __cobalt_std_fifo_maxpri;
98 extern int __cobalt_std_rr_minpri,
99 __cobalt_std_rr_maxpri;
#define XNWARN
Issue SIGDEBUG on error detection.
Definition: thread.h:46
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition: atomic.h:24
#define XNRELAX
Relaxed shadow thread (blocking bit)
Definition: thread.h:39