package/xenomai: disable cobalt for armv8
authorRomain Naour <romain.naour@gmail.com>
Tue, 2 Feb 2021 20:56:14 +0000 (21:56 +0100)
committerYann E. MORIN <yann.morin.1998@free.fr>
Fri, 5 Feb 2021 08:42:16 +0000 (09:42 +0100)
When a armv8 target is used in 32bits mode, xenomai fail to detect the
ARM architecture and abord the build. (__ARM_ARCH_7A__ is not defined
for armv8 cpus).

There are no autobuilder failures for this issue since cobalt is never
selected, but the following defconfig:

BR2_arm=y
BR2_cortex_a53=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XENOMAI=y
BR2_PACKAGE_XENOMAI_COBALT=y

This was initialy reproduced using the raspberrypi3_defconfig with
Xenomai package with cobalt selected.

In order to use Xenomai on raspberrypi3 in 32 bits mode, one has to
select BR2_cortex_a7 instead of BR2_cortex_a53 (see a13a388dd444).

See:
https://gitlab.denx.de/Xenomai/xenomai/-/blob/v3.1/lib/cobalt/arch/arm/include/asm/xenomai/features.h#L52

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[yann.morin.1998@free.fr:
  - switch to independent conditional 'default y'
  - slightly reword the commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/xenomai/Config.in

index e39a550416161d124a9d995b2e5015e4c1f3c6bb..ec6d9e5d299e3fd1fbb161e01031b8895ea05cd6 100644 (file)
@@ -1,8 +1,9 @@
 config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
        bool
-       default y
-       depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \
-               BR2_powerpc
+       default y if BR2_i386
+       default y if BR2_x86_64
+       default y if BR2_powerpc
+       default y if BR2_arm && !BR2_ARM_CPU_ARMV7M && !BR2_ARM_CPU_ARMV8A
 
 comment "xenomai needs a glibc or uClibc toolchain w/ threads"
        depends on BR2_USE_MMU