| config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS |
| bool |
| default y |
| depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \ |
| 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 |