Xenomai  3.1
wrappers.h
1 /*
2  * Copyright (C) 2017 Philippe Gerum <rpm@xenomai.org>.
3  *
4  * Xenomai is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * Xenomai is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with Xenomai; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17  * 02111-1307, USA.
18  */
19 #ifndef _COBALT_LINUX_WRAPPERS_H
20 #define _COBALT_LINUX_WRAPPERS_H
21 
22 #include <linux/version.h>
23 
24 #if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
25 #include <linux/sched.h>
26 #include <linux/sched/rt.h>
27 
28 #define cobalt_set_task_state(tsk, state_value) \
29  set_task_state(tsk, state_value)
30 #else
31 #include <linux/sched.h>
32 #include <linux/sched/signal.h>
33 #include <linux/sched/rt.h>
34 #include <linux/sched/mm.h>
35 #include <linux/sched/debug.h>
36 #include <linux/sched/task_stack.h>
37 #include <uapi/linux/sched/types.h>
38 /*
39  * The co-kernel can still do this sanely for a thread which is
40  * currently active on the head stage.
41  */
42 #define cobalt_set_task_state(tsk, state_value) \
43  smp_store_mb((tsk)->state, (state_value))
44 #endif
45 
46 #include <linux/ipipe.h>
47 
48 #ifndef ipipe_root_nr_syscalls
49 #define ipipe_root_nr_syscalls(ti) NR_syscalls
50 #endif
51 
52 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)
53 typedef siginfo_t kernel_siginfo_t;
54 #endif
55 
56 #endif /* !_COBALT_LINUX_WRAPPERS_H */