18#ifndef _LIB_COBALT_INTERNAL_H
19#define _LIB_COBALT_INTERNAL_H
24#include <boilerplate/ancillaries.h>
25#include <cobalt/sys/cobalt.h>
28#if defined(__USE_TIME_BITS64) || __WORDSIZE == 64 || \
29 (defined(__SYSCALL_WORDSIZE) && __SYSCALL_WORDSIZE == 64)
30#define XN_USE_TIME64_SYSCALL
33extern void *cobalt_umm_private;
35extern void *cobalt_umm_shared;
37static inline int cobalt_is_relaxed(
void)
39 return cobalt_get_current_mode() &
XNRELAX;
42static inline int cobalt_should_warn(
void)
47#ifdef CONFIG_XENO_LAZY_SETSCHED
48static inline int cobalt_eager_setsched(
void)
50 return cobalt_is_relaxed();
53static inline int cobalt_eager_setsched(
void)
60struct cobalt_mutex_state *mutex_get_state(
struct cobalt_mutex_shadow *shadow)
62 if (shadow->attr.pshared)
63 return cobalt_umm_shared + shadow->state_offset;
65 return cobalt_umm_private + shadow->state_offset;
68static inline atomic_t *mutex_get_ownerp(
struct cobalt_mutex_shadow *shadow)
70 return &mutex_get_state(shadow)->owner;
73void cobalt_sigshadow_install_once(
void);
75void cobalt_thread_init(
void);
77int cobalt_thread_probe(pid_t pid);
79void cobalt_sched_init(
void);
81void cobalt_print_init(
void);
83void cobalt_print_init_atfork(
void);
85void cobalt_ticks_init(
void);
87void cobalt_mutex_init(
void);
89void cobalt_default_condattr_init(
void);
91int cobalt_xlate_schedparam(
int policy,
92 const struct sched_param_ex *param_ex,
93 struct sched_param *param);
96void *cobalt_lookup_vdso(
const char *version,
const char *name);
98extern struct sigaction __cobalt_orig_sigdebug;
100extern int __cobalt_std_fifo_minpri,
101 __cobalt_std_fifo_maxpri;
103extern int __cobalt_std_rr_minpri,
104 __cobalt_std_rr_maxpri;
106extern int (*__cobalt_vdso_gettime)(clockid_t clk_id,
107 struct timespec *tp);
109extern unsigned int cobalt_features;
111struct cobalt_featinfo;
118void cobalt_arch_check_features(
struct cobalt_featinfo *finfo);
125void cobalt_features_init(
struct cobalt_featinfo *f);
135static inline bool cobalt_features_available(
unsigned int feat_mask)
137 return (cobalt_features & feat_mask) == feat_mask;
#define XNWARN
Issue SIGDEBUG on error detection.
Definition thread.h:45
#define XNRELAX
Relaxed shadow thread (blocking bit)
Definition thread.h:39
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition atomic.h:24