[Buildroot] [PATCH 1/2] package/xenomai: smp support needs at least armv6

Subsystems: the rest

6 messages, 3 authors, 2021-02-10 · open the first message on its own page

[Buildroot] [PATCH 1/2] package/xenomai: smp support needs at least armv6

From: Romain Naour <hidden>
Date: 2021-02-02 20:56:13

There are no autobuilder failures for this issue, but the following
defconfig:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XENOMAI=y
BR2_PACKAGE_XENOMAI_COBALT=y

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

Signed-off-by: Romain Naour <redacted>
---
 package/xenomai/Config.in | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b655733528..b1b02373c3 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -110,6 +110,8 @@ endchoice
 config BR2_PACKAGE_XENOMAI_ENABLE_SMP
 	bool "Enable SMP support"
 	default y
+	# SMP not supported below armv6
+	depends on !BR2_ARM_CPU_ARMV4 || !BR2_ARM_CPU_ARMV5
 	help
 	  This option enables SMP support in Xenomai userspace.
 
-- 
2.29.2

[Buildroot] [PATCH 2/2] package/xenomai: disable cobalt for armv8

From: Romain Naour <hidden>
Date: 2021-02-02 20:56:14

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,
you have to select BR2_cortex_a7. This partially revert the
commit a13a388dd444ee047f0e7b8c10f5e6c235ec5004.

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 <redacted>
---
 package/xenomai/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b1b02373c3..e060bcc46f 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -1,8 +1,8 @@
 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
+	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || \
+		(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
-- 
2.29.2

[Buildroot] [PATCH 1/2] package/xenomai: smp support needs at least armv6

From: Yann E. MORIN <hidden>
Date: 2021-02-05 09:01:56

Romain, All,

On 2021-02-02 21:56 +0100, Romain Naour spake thusly:
quoted hunk
There are no autobuilder failures for this issue, but the following
defconfig:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XENOMAI=y
BR2_PACKAGE_XENOMAI_COBALT=y

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

Signed-off-by: Romain Naour <redacted>
---
 package/xenomai/Config.in | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b655733528..b1b02373c3 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -110,6 +110,8 @@ endchoice
 config BR2_PACKAGE_XENOMAI_ENABLE_SMP
 	bool "Enable SMP support"
 	default y
+	# SMP not supported below armv6
+	depends on !BR2_ARM_CPU_ARMV4 || !BR2_ARM_CPU_ARMV5
This does not make sense:

  - if you are using armv4, then you are not using armv5, and thus the
    condition is true;

  - if you are using armv5, then you are not using armv4, and thus the
    condition is true;

  - if you are using neither armv4 nor armv5, then the condition is true.

So, the condition is always true...

I've changed that to:

    depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5

Applied to master with that fixed, thanks.

Regards,
Yann E. MORIN.
 	help
 	  This option enables SMP support in Xenomai userspace.
 
-- 
2.29.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

[Buildroot] [PATCH 2/2] package/xenomai: disable cobalt for armv8

From: Yann E. MORIN <hidden>
Date: 2021-02-05 09:03:03

Romain, All,

On 2021-02-02 21:56 +0100, Romain Naour spake thusly:
quoted hunk
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,
you have to select BR2_cortex_a7. This partially revert the
commit a13a388dd444ee047f0e7b8c10f5e6c235ec5004.

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 <redacted>
---
 package/xenomai/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b1b02373c3..e060bcc46f 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -1,8 +1,8 @@
 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
+	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || \
+		(BR2_arm && !BR2_ARM_CPU_ARMV7M && !BR2_ARM_CPU_ARMV8A)
This condition is starting to look pretty ugly, now... I've changed that
to a series of conditional 'default y if $ARCH' statements instead.

Applied to master, thanks.

Regards,
Yann E. MORIN.
 comment "xenomai needs a glibc or uClibc toolchain w/ threads"
 	depends on BR2_USE_MMU
-- 
2.29.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

[Buildroot] [PATCH 1/2] package/xenomai: smp support needs at least armv6

From: Peter Korsgaard <peter@korsgaard.com>
Date: 2021-02-10 18:53:52

quoted
quoted
quoted
quoted
"Romain" == Romain Naour [off-list ref] writes:
 > There are no autobuilder failures for this issue, but the following
 > defconfig:

 > BR2_arm=y
 > BR2_TOOLCHAIN_EXTERNAL=y
 > BR2_PACKAGE_XENOMAI=y
 > BR2_PACKAGE_XENOMAI_COBALT=y

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

 > Signed-off-by: Romain Naour [off-list ref]

Committed to 2020.02.x and 2020.11.x, thanks.

-- 
Bye, Peter Korsgaard

[Buildroot] [PATCH 2/2] package/xenomai: disable cobalt for armv8

From: Peter Korsgaard <peter@korsgaard.com>
Date: 2021-02-10 18:53:58

quoted
quoted
quoted
quoted
"Romain" == Romain Naour [off-list ref] writes:
 > 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,
 > you have to select BR2_cortex_a7. This partially revert the
 > commit a13a388dd444ee047f0e7b8c10f5e6c235ec5004.

 > 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 [off-list ref]

Committed to 2020.02.x and 2020.11.x, thanks.

-- 
Bye, Peter Korsgaard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help