18 #ifndef _LIB_COBALT_INTERNAL_H
19 #define _LIB_COBALT_INTERNAL_H
23 #include <boilerplate/ancillaries.h>
24 #include <cobalt/sys/cobalt.h>
27 extern void *cobalt_umm_private;
29 extern void *cobalt_umm_shared;
31 static inline int cobalt_is_relaxed(
void)
33 return cobalt_get_current_mode() &
XNRELAX;
36 static inline int cobalt_should_warn(
void)
41 #ifdef CONFIG_XENO_LAZY_SETSCHED
42 static inline int cobalt_eager_setsched(
void)
44 return cobalt_is_relaxed();
47 static inline int cobalt_eager_setsched(
void)
54 struct cobalt_mutex_state *mutex_get_state(
struct cobalt_mutex_shadow *shadow)
56 if (shadow->attr.pshared)
57 return cobalt_umm_shared + shadow->state_offset;
59 return cobalt_umm_private + shadow->state_offset;
62 static inline atomic_t *mutex_get_ownerp(
struct cobalt_mutex_shadow *shadow)
64 return &mutex_get_state(shadow)->owner;
67 void cobalt_sigshadow_install_once(
void);
69 void cobalt_thread_init(
void);
71 int cobalt_thread_probe(pid_t pid);
73 void cobalt_sched_init(
void);
75 void cobalt_print_init(
void);
77 void cobalt_print_init_atfork(
void);
79 void cobalt_ticks_init(
unsigned long long freq);
81 void cobalt_mutex_init(
void);
83 void cobalt_default_condattr_init(
void);
85 int cobalt_xlate_schedparam(
int policy,
86 const struct sched_param_ex *param_ex,
87 struct sched_param *param);
88 int cobalt_init(
void);
90 extern struct sigaction __cobalt_orig_sigdebug;
92 extern int __cobalt_std_fifo_minpri,
93 __cobalt_std_fifo_maxpri;
95 extern int __cobalt_std_rr_minpri,
96 __cobalt_std_rr_maxpri;
98 extern unsigned int cobalt_features;
100 struct cobalt_featinfo;
107 void cobalt_arch_check_features(
struct cobalt_featinfo *finfo);
114 void cobalt_features_init(
struct cobalt_featinfo *f);
124 static inline bool cobalt_features_available(
unsigned int feat_mask)
126 return (cobalt_features & feat_mask) == feat_mask;
#define XNWARN
Issue SIGDEBUG on error detection.
Definition: thread.h:46
#define XNRELAX
Relaxed shadow thread (blocking bit)
Definition: thread.h:39
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition: atomic.h:24