1*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS 2*4882a593Smuzhiyun bool 3*4882a593Smuzhiyun default y if BR2_i386 4*4882a593Smuzhiyun default y if BR2_x86_64 5*4882a593Smuzhiyun default y if BR2_powerpc 6*4882a593Smuzhiyun default y if BR2_arm && !BR2_ARM_CPU_ARMV7M && !BR2_ARM_CPU_ARMV8A 7*4882a593Smuzhiyun default y if BR2_aarch64 8*4882a593Smuzhiyun 9*4882a593Smuzhiyuncomment "xenomai needs a glibc or uClibc toolchain w/ threads" 10*4882a593Smuzhiyun depends on BR2_USE_MMU 11*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 12*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI 15*4882a593Smuzhiyun bool "Xenomai Userspace" 16*4882a593Smuzhiyun depends on BR2_USE_MMU 17*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 18*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS 19*4882a593Smuzhiyun # uses <error.h>, __WORDSIZE and bits/local_lim.h 20*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_USES_MUSL 21*4882a593Smuzhiyun help 22*4882a593Smuzhiyun Real-Time Framework for Linux 23*4882a593Smuzhiyun http://www.xenomai.org 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun Xenomai is split in two parts: a kernel part and an 26*4882a593Smuzhiyun userspace part. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun This package contains the userspace part, which consists 29*4882a593Smuzhiyun mainly in libraries to write userspace real-time programs 30*4882a593Smuzhiyun that interact with the in-kernel Xenomai real-time core. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun For those libraries to work, you need a Xenomai-enabled 33*4882a593Smuzhiyun kernel. This is possible in two ways: 34*4882a593Smuzhiyun - if you compile your kernel with Buildroot, you need to go 35*4882a593Smuzhiyun to Linux Kernel -> Linux Kernel Extensions to enable the 36*4882a593Smuzhiyun Xenomai extension. 37*4882a593Smuzhiyun - if you compile your kernel outside of Buildroot, you need 38*4882a593Smuzhiyun to make sure that it is Xenomai-enabled. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun Finally, if you are using a static /dev, make sure to 41*4882a593Smuzhiyun uncomment the Xenomai entries listed in 42*4882a593Smuzhiyun target/generic/device_table_dev.txt. 43*4882a593Smuzhiyun 44*4882a593Smuzhiyunif BR2_PACKAGE_XENOMAI 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunchoice 47*4882a593Smuzhiyun bool "Xenomai version" 48*4882a593Smuzhiyun help 49*4882a593Smuzhiyun Make sure that the selected version has a patch for your 50*4882a593Smuzhiyun selected Linux kernel. If it does not, download and select a 51*4882a593Smuzhiyun patch manually with BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, 52*4882a593Smuzhiyun in the Linux Kernel -> Linux Kernel Extensions menu. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_3_2 55*4882a593Smuzhiyun bool "3.2" 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_3_1 58*4882a593Smuzhiyun bool "3.1" 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_3_0 61*4882a593Smuzhiyun bool "3.0" 62*4882a593Smuzhiyun depends on !BR2_aarch64 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_CUSTOM_VERSION 65*4882a593Smuzhiyun bool "Custom version" 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL 68*4882a593Smuzhiyun bool "Custom tarball" 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_CUSTOM_GIT 71*4882a593Smuzhiyun bool "Custom Git repository" 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunendchoice 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_CUSTOM_VERSION_VALUE 76*4882a593Smuzhiyun string "Xenomai version" 77*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_CUSTOM_VERSION 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_REPOSITORY 80*4882a593Smuzhiyun string "URL of custom repository" 81*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_CUSTOM_GIT 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_REPOSITORY_VERSION 84*4882a593Smuzhiyun string "Custom repository version" 85*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_CUSTOM_GIT 86*4882a593Smuzhiyun help 87*4882a593Smuzhiyun Revision to use in the typical format used by Git, i.e a 88*4882a593Smuzhiyun SHA1 or a tag. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_VERSION 91*4882a593Smuzhiyun string 92*4882a593Smuzhiyun default "v3.2.2" if BR2_PACKAGE_XENOMAI_3_2 93*4882a593Smuzhiyun default "v3.1.3" if BR2_PACKAGE_XENOMAI_3_1 94*4882a593Smuzhiyun default "v3.0.13" if BR2_PACKAGE_XENOMAI_3_0 95*4882a593Smuzhiyun default BR2_PACKAGE_XENOMAI_CUSTOM_VERSION_VALUE \ 96*4882a593Smuzhiyun if BR2_PACKAGE_XENOMAI_CUSTOM_VERSION 97*4882a593Smuzhiyun default "custom" if BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL 98*4882a593Smuzhiyun default BR2_PACKAGE_XENOMAI_REPOSITORY_VERSION \ 99*4882a593Smuzhiyun if BR2_PACKAGE_XENOMAI_CUSTOM_GIT 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL 102*4882a593Smuzhiyun string "URL of custom tarball" 103*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunchoice 106*4882a593Smuzhiyun prompt "Xenomai core" 107*4882a593Smuzhiyun default BR2_PACKAGE_XENOMAI_MERCURY 108*4882a593Smuzhiyun help 109*4882a593Smuzhiyun Select the Xenomai core: dual kernel (Cobalt) 110*4882a593Smuzhiyun or native Linux Kernel (Mercury). 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_MERCURY 113*4882a593Smuzhiyun bool "Mercury" 114*4882a593Smuzhiyun depends on !BR2_LINUX_KERNEL_EXT_XENOMAI 115*4882a593Smuzhiyun help 116*4882a593Smuzhiyun Select Mercury core for the Xenomai userspace. 117*4882a593Smuzhiyun You want to use it if you have the native Linux Kernel. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_COBALT 120*4882a593Smuzhiyun bool "Cobalt" 121*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS 122*4882a593Smuzhiyun help 123*4882a593Smuzhiyun Select Cobalt core (dual kernel) for the Xenomai 124*4882a593Smuzhiyun userspace. Use this if you use a Xenomai-patched 125*4882a593Smuzhiyun Linux kernel. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun If you want to use Cobalt core, your kernel must have 128*4882a593Smuzhiyun the Adeos and Xenomai patches applied to it. You can 129*4882a593Smuzhiyun add these through the BR2_LINUX_KERNEL_EXT_XENOMAI option 130*4882a593Smuzhiyun in the Linux Kernel Extensions menu. 131*4882a593Smuzhiyunendchoice 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_ENABLE_SMP 134*4882a593Smuzhiyun bool "Enable SMP support" 135*4882a593Smuzhiyun default y 136*4882a593Smuzhiyun # SMP not supported below armv6 137*4882a593Smuzhiyun depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 138*4882a593Smuzhiyun help 139*4882a593Smuzhiyun This option enables SMP support in Xenomai userspace. 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun If this option is turned on while no SMP support is enabled 142*4882a593Smuzhiyun in the kernel, things will still work. However, if SMP is 143*4882a593Smuzhiyun enabled in the kernel but this option is not turned on, 144*4882a593Smuzhiyun Xenomai applications will complain with: 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun feature mismatch: missing="smp/nosmp" 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun Please refer to this troubleshooting guide for more 149*4882a593Smuzhiyun information: 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun http://xenomai.org/troubleshooting-a-dual-kernel-configuration/#feature_mismatch_missing8221smpnosmp8221 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY 154*4882a593Smuzhiyun bool "Enable registry" 155*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS # libfuse 156*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse 157*4882a593Smuzhiyun depends on BR2_USE_MMU # libfuse 158*4882a593Smuzhiyun select BR2_PACKAGE_LIBFUSE 159*4882a593Smuzhiyun help 160*4882a593Smuzhiyun Xenomai APIs can export their internal state through a 161*4882a593Smuzhiyun pseudo-filesystem, whose files may be read to obtain 162*4882a593Smuzhiyun information about the existing real-time objects, such as 163*4882a593Smuzhiyun tasks, semaphores, message queues and so on. 164*4882a593Smuzhiyun 165*4882a593Smuzhiyuncomment "registry needs a toolchain w/ threads, dynamic library" 166*4882a593Smuzhiyun depends on BR2_USE_MMU 167*4882a593Smuzhiyun depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS 168*4882a593Smuzhiyun 169*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH 170*4882a593Smuzhiyun string "Custom registry root path" 171*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY 172*4882a593Smuzhiyun help 173*4882a593Smuzhiyun Specify the root path of the registry here. 174*4882a593Smuzhiyun To use the Xenomai default (currently: /var/run/xenomai), 175*4882a593Smuzhiyun leave this option empty. 176*4882a593Smuzhiyun 177*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS 178*4882a593Smuzhiyun string "Additional configure options" 179*4882a593Smuzhiyun help 180*4882a593Smuzhiyun Specify any additional options to pass to the configure 181*4882a593Smuzhiyun script here. See Xenomai documentation for details. 182*4882a593Smuzhiyun 183*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_TESTSUITE 184*4882a593Smuzhiyun bool "Install testsuite" 185*4882a593Smuzhiyun help 186*4882a593Smuzhiyun This option allows to install the Xenomai test programs. 187*4882a593Smuzhiyun 188*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_RTCAN 189*4882a593Smuzhiyun bool "RTCan utilities" 190*4882a593Smuzhiyun help 191*4882a593Smuzhiyun This option allows to install the Xenomai RT-CAN utilities. 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_ANALOGY 194*4882a593Smuzhiyun bool "Analogy libs and utils" 195*4882a593Smuzhiyun help 196*4882a593Smuzhiyun This option allows to install the Xenomai Analogy utilities 197*4882a593Smuzhiyun and libraries 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunmenu "Skin selection" 200*4882a593Smuzhiyun 201*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_NATIVE_SKIN 202*4882a593Smuzhiyun bool "Alchemy (native) skin" 203*4882a593Smuzhiyun default y 204*4882a593Smuzhiyun help 205*4882a593Smuzhiyun This option allows to install the Alchemy Xenomai skin, 206*4882a593Smuzhiyun previously called 'native' 207*4882a593Smuzhiyun 208*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_POSIX_SKIN 209*4882a593Smuzhiyun bool "POSIX skin" 210*4882a593Smuzhiyun default y 211*4882a593Smuzhiyun help 212*4882a593Smuzhiyun This option allows to install the POSIX Xenomai skin 213*4882a593Smuzhiyun 214*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_PSOS_SKIN 215*4882a593Smuzhiyun bool "pSOS skin" 216*4882a593Smuzhiyun help 217*4882a593Smuzhiyun This option allows to install the pSOS Xenomai skin 218*4882a593Smuzhiyun 219*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_RTAI_SKIN 220*4882a593Smuzhiyun bool "RTAI skin" 221*4882a593Smuzhiyun help 222*4882a593Smuzhiyun This option allows to install the RTAI Xenomai skin 223*4882a593Smuzhiyun 224*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_UITRON_SKIN 225*4882a593Smuzhiyun bool "uITRON skin" 226*4882a593Smuzhiyun help 227*4882a593Smuzhiyun This option allows to install the uITRON Xenomai skin 228*4882a593Smuzhiyun 229*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_VRTX_SKIN 230*4882a593Smuzhiyun bool "VRTX skin" 231*4882a593Smuzhiyun help 232*4882a593Smuzhiyun This option allows to install the VRTX Xenomai skin 233*4882a593Smuzhiyun 234*4882a593Smuzhiyunconfig BR2_PACKAGE_XENOMAI_VXWORKS_SKIN 235*4882a593Smuzhiyun bool "VxWorks skin" 236*4882a593Smuzhiyun help 237*4882a593Smuzhiyun This option allows to install the VxWorks Xenomai skin 238*4882a593Smuzhiyun 239*4882a593Smuzhiyunendmenu 240*4882a593Smuzhiyun 241*4882a593Smuzhiyunendif 242