hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
   bool
   default y
   depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \
       BR2_bfin || BR2_powerpc
 
comment "xenomai needs an glibc or uClibc toolchain w/ threads"
   depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
   depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
 
config BR2_PACKAGE_XENOMAI
   bool "Xenomai Userspace"
   depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
   depends on BR2_TOOLCHAIN_HAS_THREADS
   # uses <error.h>, __WORDSIZE and bits/local_lim.h
   depends on !BR2_TOOLCHAIN_USES_MUSL
   help
     Real-Time Framework for Linux
     http://www.xenomai.org
 
     Xenomai is split in two parts: a kernel part and an
     userspace part.
 
     This package contains the userspace part, which consists
     mainly in libraries to write userspace real-time programs
     that interact with the in-kernel Xenomai real-time core.
 
     For those libraries to work, you need a Xenomai-enabled
     kernel. This is possible in two ways:
      - if you compile your kernel with Buildroot, you need to go
        to Linux Kernel -> Linux Kernel Extensions to enable the
        Xenomai extension.
      - if you compile your kernel outside of Buildroot, you need
        to make sure that it is Xenomai-enabled.
 
     Finally, if you are using a static /dev, make sure to
     uncomment the Xenomai entries listed in
     target/generic/device_table_dev.txt.
 
if BR2_PACKAGE_XENOMAI
 
config BR2_PACKAGE_XENOMAI_VERSION
   string "Custom Xenomai version"
   help
     Manually select Xenomai version. If left empty, the default
     version will be used.
 
     Make sure that the selected version has a patch for your
     selected Linux kernel. If it does not, download and select
     a patch manually with
     BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux
     Kernel -> Linux Kernel Extensions menu.
 
choice
   prompt "Xenomai core"
   default BR2_PACKAGE_XENOMAI_MERCURY
   help
     Select the Xenomai core: dual kernel (Cobalt)
     or native Linux Kernel (Mercury).
 
config BR2_PACKAGE_XENOMAI_MERCURY
   bool "Mercury"
   depends on !BR2_LINUX_KERNEL_EXT_XENOMAI
   help
     Select Mercury core for the Xenomai userspace.
     You want to use it if you have the native Linux Kernel.
 
config BR2_PACKAGE_XENOMAI_COBALT
   bool "Cobalt"
   help
     Select Cobalt core (dual kernel) for the Xenomai
     userspace. Use this if you use a Xenomai-patched
     Linux kernel.
 
     If you want to use Cobalt core, your kernel must have
     the Adeos and Xenomai patches applied to it. You can
     add these through the BR2_LINUX_KERNEL_EXT_XENOMAI option
     in the Linux Kernel Extensions menu.
endchoice
 
config BR2_PACKAGE_XENOMAI_ENABLE_SMP
   bool "Enable SMP support"
   default y
   help
     This option enables SMP support in Xenomai userspace.
 
     If this option is turned on while no SMP support is enabled
     in the kernel, things will still work. However, if SMP is
     enabled in the kernel but this option is not turned on,
     Xenomai applications will complain with:
 
       feature mismatch: missing="smp/nosmp"
 
     Please refer to this troubleshooting guide for more
     information:
 
     http://xenomai.org/troubleshooting-a-dual-kernel-configuration/#feature_mismatch_missing8221smpnosmp8221
 
config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
   bool "Enable registry"
   depends on !BR2_STATIC_LIBS # libfuse
   depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
   depends on BR2_USE_MMU # libfuse
   select BR2_PACKAGE_LIBFUSE
   help
     Xenomai APIs can export their internal state through a
     pseudo-filesystem, whose files may be read to obtain
     information about the existing real-time objects, such as
     tasks, semaphores, message queues and so on.
 
comment "registry needs a toolchain w/ threads, dynamic library"
   depends on BR2_USE_MMU
   depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
 
config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH
   string "Custom registry root path"
   depends on BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
   help
     Specify the root path of the registry here.
     To use the Xenomai default (currently: /var/run/xenomai),
     leave this option empty.
 
config BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS
   string "Additional configure options"
   help
     Specify any additional options to pass to the configure
     script here.  See Xenomai documentation for details.
 
config BR2_PACKAGE_XENOMAI_TESTSUITE
   bool "Install testsuite"
   help
     This option allows to install the Xenomai test programs.
 
config BR2_PACKAGE_XENOMAI_RTCAN
   bool "RTCan utilities"
   help
     This option allows to install the Xenomai RT-CAN utilities.
 
config BR2_PACKAGE_XENOMAI_ANALOGY
   bool "Analogy libs and utils"
   help
     This option allows to install the Xenomai Analogy utilities
     and libraries
 
menu "Skin selection"
 
config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
   bool "Alchemy (native) skin"
   default y
   help
     This option allows to install the Alchemy Xenomai skin,
     previously called 'native'
 
config BR2_PACKAGE_XENOMAI_POSIX_SKIN
   bool "POSIX skin"
   default y
   help
     This option allows to install the POSIX Xenomai skin
 
config BR2_PACKAGE_XENOMAI_PSOS_SKIN
   bool "pSOS skin"
   help
     This option allows to install the pSOS Xenomai skin
 
config BR2_PACKAGE_XENOMAI_RTAI_SKIN
   bool "RTAI skin"
   help
     This option allows to install the RTAI Xenomai skin
 
config BR2_PACKAGE_XENOMAI_SMOKEY_SKIN
   bool "Smokey skin"
   help
     This option allows to install the Smokey Xenomai skin
 
config BR2_PACKAGE_XENOMAI_UITRON_SKIN
   bool "uITRON skin"
   help
     This option allows to install the uITRON Xenomai skin
 
config BR2_PACKAGE_XENOMAI_VRTX_SKIN
   bool "VRTX skin"
   help
     This option allows to install the VRTX Xenomai skin
 
config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
   bool "VxWorks skin"
   help
     This option allows to install the VxWorks Xenomai skin
 
endmenu
 
endif