aboutsummaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorGravatar Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>2019-02-05 17:09:59 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-02-09 15:38:35 +0100
commitc35f157486431eafdb8d3583fc52d8ce4c784cf3 (patch)
tree3ac1db1c0343b81851ba0eba57edf3f1f1f9d5d9 /linux
parentb1ff0c0786a8953bdcadd778e75449638f485588 (diff)
downloadbuildroot-c35f157486431eafdb8d3583fc52d8ce4c784cf3.tar.gz
buildroot-c35f157486431eafdb8d3583fc52d8ce4c784cf3.tar.bz2
package/xenomai: move arch restriction to Cobalt core, no restriction for Mercury
Xenomai has two mutually exclusive cores: - Cobalt: dual-kernel approach: patched kernel + userland - Mercury: only userland In the Cobalt core, not all architectures are supported. This is the source of the existing ARCH_SUPPORTS variable. In the Mercury core, there is no imposed architecture restriction. Rename the XENOMAI_ARCH_SUPPORTS flag to XENOMAI_COBALT_ARCH_SUPPORTS and move its check from the Xenomai package to the Cobalt core. Nevertheless, even for Mercury, there are some restrictions: - pthread_atfork is used, which requires an MMU - sync functions like __sync_sub_and_fetch and __sync_add_and_fetch are expected. As the corresponding 'linux extension' selects Xenomai, we add the MMU and sync dependencies there too. They may or may not already be covered by XENOMAI_COBALT_ARCH_SUPPORTS flag. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'linux')
-rw-r--r--linux/Config.ext.in12
1 files changed, 8 insertions, 4 deletions
diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index acc8a04742..32dacbdf06 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -4,9 +4,11 @@ menu "Linux Kernel Extensions"
# Xenomai
config BR2_LINUX_KERNEL_EXT_XENOMAI
bool "Adeos/Xenomai Real-time patch"
- depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_TOOLCHAIN_USES_MUSL
+ depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
+ depends on BR2_USE_MMU # xenomai
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai
+ depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai
+ depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai
select BR2_PACKAGE_XENOMAI
help
Xenomai is split in two parts: a kernel part and a userspace
@@ -34,7 +36,9 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
and verify that your kernel version in buildroot matches.
comment "xenomai needs a uClibc or glibc toolchain w/ threads"
- depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
+ depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
#-------------------------------------------------------------------------------