xenomai: bump to version 2.6.2.1
- remove BR2_PACKAGE_XENOMAI_SMP since xenomai 2.6.2 no more requires to pass the --enable-smp option : see release notes at http://www.xenomai.org/index.php/Xenomai:News#2012-12-26_Xenomai_2.6.2 - remove xenomai-thumb-fix.patch since it was completely merged in xenomai 2.6.2 Signed-off-by: Victor Hiairrassary <victor.hiairrassary.ml@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
9e5fcda1c5
commit
bd528977f1
@ -39,13 +39,6 @@ config BR2_PACKAGE_XENOMAI_VERSION
|
||||
BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux
|
||||
Kernel -> Linux Kernel Extensions menu.
|
||||
|
||||
config BR2_PACKAGE_XENOMAI_SMP
|
||||
bool "Enable SMP support"
|
||||
depends on BR2_cortex_a9 || !BR2_arm # only A9 has SMP support
|
||||
help
|
||||
This option allows to enable or disable SMP support. It has
|
||||
to match your kernel configuration.
|
||||
|
||||
config BR2_PACKAGE_XENOMAI_TESTSUITE
|
||||
bool "Install testsuite"
|
||||
help
|
||||
|
@ -1,157 +0,0 @@
|
||||
From ad3714e925f5c6b4ae0e0d31c4bab7f8c5e659db Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
|
||||
Date: Fri, 10 Aug 2012 21:55:41 +0200
|
||||
Subject: [PATCH] hal/arm: fix compilation for thumb
|
||||
|
||||
---
|
||||
include/asm-arm/atomic.h | 3 ++
|
||||
ksrc/arch/arm/switch.S | 84 +++++++++++++++++++++++++++------------------
|
||||
2 files changed, 53 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/include/asm-arm/atomic.h b/include/asm-arm/atomic.h
|
||||
index 5d55ae8..ae96847 100644
|
||||
--- a/include/asm-arm/atomic.h
|
||||
+++ b/include/asm-arm/atomic.h
|
||||
@@ -183,6 +183,9 @@ xnarch_atomic_cmpxchg(xnarch_atomic_t *ptr,
|
||||
"ldrex %1, [%3]\n"
|
||||
"mov %0, #0\n"
|
||||
"teq %1, %4\n"
|
||||
+#ifdef __thumb__
|
||||
+ "it eq\n"
|
||||
+#endif
|
||||
"strexeq %0, %5, [%3]\n"
|
||||
: "=&r" (res), "=&r" (curval), "+Qo" (ptr->counter)
|
||||
: "r" (&ptr->counter), "Ir" (oldval), "r" (newval)
|
||||
diff --git a/ksrc/arch/arm/switch.S b/ksrc/arch/arm/switch.S
|
||||
index 83f4746..95c355f 100644
|
||||
--- a/ksrc/arch/arm/switch.S
|
||||
+++ b/ksrc/arch/arm/switch.S
|
||||
@@ -37,6 +37,11 @@
|
||||
.endm
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
|
||||
+#define ARM(x...) x
|
||||
+#define THUMB(x...)
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 37)
|
||||
#ifdef CONFIG_MMU
|
||||
#define USE_DOMAINS
|
||||
@@ -83,18 +88,19 @@
|
||||
* r0 = pointer to union vfp_state, r1 = fpexc
|
||||
*/
|
||||
ENTRY(rthal_vfp_save)
|
||||
- VFPFSTMIA r0, r2 @ save the working registers
|
||||
- VFPFMRX r2, FPSCR @ current status
|
||||
- tst r1, #FPEXC_EX @ is there additional state to save?
|
||||
- beq 1f
|
||||
- VFPFMRX r3, FPINST @ FPINST (only if FPEXC.EX is set)
|
||||
- tst r1, #FPEXC_FP2V @ is there an FPINST2 to read?
|
||||
- beq 1f
|
||||
- VFPFMRX r12, FPINST2 @ FPINST2 if needed (and present)
|
||||
+ VFPFSTMIA r0, r2 @ save the working registers
|
||||
+ VFPFMRX r2, FPSCR @ current status
|
||||
+ tst r1, #FPEXC_EX @ is there additional state to save?
|
||||
+ beq 1f
|
||||
+ VFPFMRX r3, FPINST @ FPINST (only if FPEXC.EX is set)
|
||||
+ tst r1, #FPEXC_FP2V @ is there an FPINST2 to read?
|
||||
+ beq 1f
|
||||
+ VFPFMRX r12, FPINST2 @ FPINST2 if needed (and present)
|
||||
1:
|
||||
- stmia r0, {r1, r2, r3, r12} @ save FPEXC, FPSCR, FPINST, FPINST2
|
||||
- mov pc, lr
|
||||
-
|
||||
+ stmia r0, {r1, r2, r3, r12} @ save FPEXC, FPSCR, FPINST, FPINST2
|
||||
+ mov pc, lr
|
||||
+ENDPROC(rthal_vfp_save)
|
||||
+
|
||||
/* Copied from no_old_VFP_process in arch/arm/vfp/vfphw.S
|
||||
* r0 = pointer to union vfp_state
|
||||
* r1 = current cpu
|
||||
@@ -102,20 +108,21 @@ ENTRY(rthal_vfp_save)
|
||||
ENTRY(rthal_vfp_load)
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) \
|
||||
|| defined(CONFIG_VFP_3_2_BACKPORT)) && defined(CONFIG_SMP)
|
||||
- str r1, [r0, #VFP_CPU]
|
||||
+ str r1, [r0, #VFP_CPU]
|
||||
#endif
|
||||
- VFPFLDMIA r0, r2 @ reload the working registers while
|
||||
+ VFPFLDMIA r0, r2 @ reload the working registers while
|
||||
@ FPEXC is in a safe state
|
||||
- ldmia r0, {r1, r2, r3, r12} @ load FPEXC, FPSCR, FPINST, FPINST2
|
||||
- tst r1, #FPEXC_EX @ is there additional state to restore?
|
||||
- beq 1f
|
||||
- VFPFMXR FPINST, r3 @ restore FPINST (only if FPEXC.EX is set)
|
||||
- tst r1, #FPEXC_FP2V @ is there an FPINST2 to write?
|
||||
- beq 1f
|
||||
- VFPFMXR FPINST2, r12 @ FPINST2 if needed (and present)
|
||||
+ ldmia r0, {r1, r2, r3, r12} @ load FPEXC, FPSCR, FPINST, FPINST2
|
||||
+ tst r1, #FPEXC_EX @ is there additional state to restore?
|
||||
+ beq 1f
|
||||
+ VFPFMXR FPINST, r3 @ restore FPINST (only if FPEXC.EX is set)
|
||||
+ tst r1, #FPEXC_FP2V @ is there an FPINST2 to write?
|
||||
+ beq 1f
|
||||
+ VFPFMXR FPINST2, r12 @ FPINST2 if needed (and present)
|
||||
1:
|
||||
- VFPFMXR FPSCR, r2 @ restore status
|
||||
- mov pc, lr
|
||||
+ VFPFMXR FPSCR, r2 @ restore status
|
||||
+ mov pc, lr
|
||||
+ENDPROC(rthal_vfp_load)
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -144,28 +151,37 @@ ENTRY(rthal_vfp_load)
|
||||
* r0 = previous task_struct, r1 = previous thread_info, r2 = next thread_info
|
||||
*/
|
||||
ENTRY(rthal_thread_switch)
|
||||
- add ip, r1, #TI_CPU_SAVE
|
||||
- ldr r3, [r2, #TI_TP_VALUE]
|
||||
- stmia ip!, {r4 - sl, fp, sp, lr} @ Store most regs on stack
|
||||
+ add ip, r1, #TI_CPU_SAVE
|
||||
+ ldr r3, [r2, #TI_TP_VALUE]
|
||||
+ ARM( stmia ip!, {r4 - sl, fp, sp, lr} ) @ Store most regs on stack
|
||||
+ THUMB( stmia ip!, {r4 - sl, fp} ) @ Store most regs on stack
|
||||
+ THUMB( str sp, [ip], #4 )
|
||||
+ THUMB( str lr, [ip], #4 )
|
||||
#ifdef USE_DOMAINS
|
||||
- ldr r6, [r2, #TI_CPU_DOMAIN]
|
||||
+ ldr r6, [r2, #TI_CPU_DOMAIN]
|
||||
#endif
|
||||
|
||||
- clear_exclusive_monitor
|
||||
- set_tls r3, r4, r5
|
||||
+ clear_exclusive_monitor
|
||||
+ set_tls r3, r4, r5
|
||||
#ifdef USE_DOMAINS
|
||||
- mcr p15, 0, r6, c3, c0, 0 @ Set domain register
|
||||
+ mcr p15, 0, r6, c3, c0, 0 @ Set domain register
|
||||
#endif
|
||||
- fpu_switch r4
|
||||
- add r4, r2, #TI_CPU_SAVE
|
||||
- ldmia r4, {r4 - sl, fp, sp, pc} @ Load all regs saved previously
|
||||
+ fpu_switch r4
|
||||
+ ARM( add r4, r2, #TI_CPU_SAVE )
|
||||
+ ARM( ldmia r4, {r4 - sl, fp, sp, pc} ) @ Load all regs saved previously
|
||||
+ THUMB( add ip, r2, #TI_CPU_SAVE )
|
||||
+ THUMB( ldmia ip!, {r4 - sl, fp} ) @ Load all regs saved previously
|
||||
+ THUMB( ldr sp, [ip], #4 )
|
||||
+ THUMB( ldr pc, [ip] )
|
||||
+ENDPROC(rthal_thread_switch)
|
||||
|
||||
/*
|
||||
* r4 = xnarch_thread_trampoline
|
||||
* r5 = xnarchtcb_t *
|
||||
*/
|
||||
ENTRY(rthal_thread_trampoline)
|
||||
- mov r0, r5
|
||||
- mov pc, r4
|
||||
+ mov r0, r5
|
||||
+ mov pc, r4
|
||||
+ENDPROC(rthal_thread_trampoline)
|
||||
|
||||
// vim: ts=4 et sw=4 sts=4
|
||||
--
|
||||
1.7.2.5
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
|
||||
ifeq ($(XENOMAI_VERSION),)
|
||||
XENOMAI_VERSION = 2.6.1
|
||||
XENOMAI_VERSION = 2.6.2.1
|
||||
endif
|
||||
|
||||
XENOMAI_SITE = http://download.gna.org/xenomai/stable/
|
||||
@ -18,10 +18,6 @@ XENOMAI_LICENSE_FILES = debian/copyright include/COPYING src/skins/native/COPYIN
|
||||
|
||||
XENOMAI_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_XENOMAI_SMP),y)
|
||||
XENOMAI_CONF_OPT += --enable-smp
|
||||
endif
|
||||
|
||||
XENOMAI_CONF_OPT += --includedir=/usr/include/xenomai/
|
||||
|
||||
ifeq ($(BR2_HAVE_DEVFILES),)
|
||||
|
Loading…
Reference in New Issue
Block a user