Module: xenomai-2.5 Branch: master Commit: f6b1bc862eef5b6013b2aa755ea0ffaff7d0df35 URL: http://git.xenomai.org/?p=xenomai-2.5.git;a=commit;h=f6b1bc862eef5b6013b2aa755ea0ffaff7d0df35
Author: Philippe Gerum <r...@xenomai.org> Date: Mon Jun 14 11:47:15 2010 +0200 powerpc: upgrade I-pipe support to 2.6.33.5-powerpc-2.10-03, 2.6.34-powerpc-2.10-02 --- ... => adeos-ipipe-2.6.33.5-powerpc-2.10-03.patch} | 22 +++++++++--- ...ch => adeos-ipipe-2.6.34-powerpc-2.10-02.patch} | 34 ++++++++++++++----- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-01.patch b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-03.patch similarity index 99% rename from ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-01.patch rename to ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-03.patch index 8cf975e..499ccf6 100644 --- a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-01.patch +++ b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.33.5-powerpc-2.10-03.patch @@ -262,7 +262,7 @@ index bd100fc..8fa1901 100644 * or should we not care like we do now ? --BenH. diff --git a/arch/powerpc/include/asm/ipipe.h b/arch/powerpc/include/asm/ipipe.h new file mode 100644 -index 0000000..b8befae +index 0000000..4e90de7 --- /dev/null +++ b/arch/powerpc/include/asm/ipipe.h @@ -0,0 +1,276 @@ @@ -313,10 +313,10 @@ index 0000000..b8befae +#include <asm/paca.h> +#endif + -+#define IPIPE_ARCH_STRING "2.10-01" ++#define IPIPE_ARCH_STRING "2.10-03" +#define IPIPE_MAJOR_NUMBER 2 +#define IPIPE_MINOR_NUMBER 10 -+#define IPIPE_PATCH_NUMBER 1 ++#define IPIPE_PATCH_NUMBER 3 + +#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH + @@ -7250,7 +7250,7 @@ index 328bca6..4ed869d 100644 #ifdef CONFIG_DEBUG_SPINLOCK_SLEEP diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h -index 9ccf0e2..f500f1e 100644 +index 9ccf0e2..ec98e63 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -395,7 +395,7 @@ do { \ @@ -7262,6 +7262,15 @@ index 9ccf0e2..f500f1e 100644 /* * On lockdep we dont want the hand-coded irq-enable of +@@ -403,7 +403,7 @@ do { \ + * that interrupts are not re-enabled during lock-acquire: + */ + #define LOCK_CONTENDED_FLAGS(_lock, try, lock, lockfl, flags) \ +- LOCK_CONTENDED((_lock), (try), (lock)) ++ LOCK_CONTENDED((_lock), (try), lock) + + #else /* CONFIG_LOCKDEP */ + diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 2e681d9..130b7d5 100644 --- a/include/linux/preempt.h @@ -7871,10 +7880,10 @@ index 0000000..6257dfa +obj-$(CONFIG_IPIPE_TRACE) += tracer.o diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c new file mode 100644 -index 0000000..fdb84db +index 0000000..75f5d42 --- /dev/null +++ b/kernel/ipipe/core.c -@@ -0,0 +1,1970 @@ +@@ -0,0 +1,1971 @@ +/* -*- linux-c -*- + * linux/kernel/ipipe/core.c + * @@ -9833,6 +9842,7 @@ index 0000000..fdb84db +EXPORT_SYMBOL(ipipe_send_ipi); +EXPORT_SYMBOL(__ipipe_pend_irq); +EXPORT_SYMBOL(__ipipe_set_irq_pending); ++EXPORT_SYMBOL(__ipipe_event_monitors); +#if defined(CONFIG_IPIPE_DEBUG_INTERNAL) && defined(CONFIG_SMP) +EXPORT_SYMBOL(__ipipe_check_percpu_access); +#endif diff --git a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-00.patch b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-02.patch similarity index 99% rename from ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-00.patch rename to ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-02.patch index aa050eb..8f27969 100644 --- a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-00.patch +++ b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-02.patch @@ -262,7 +262,7 @@ index bd100fc..8fa1901 100644 * or should we not care like we do now ? --BenH. diff --git a/arch/powerpc/include/asm/ipipe.h b/arch/powerpc/include/asm/ipipe.h new file mode 100644 -index 0000000..f345359 +index 0000000..8aa91f0 --- /dev/null +++ b/arch/powerpc/include/asm/ipipe.h @@ -0,0 +1,277 @@ @@ -313,10 +313,10 @@ index 0000000..f345359 +#include <asm/paca.h> +#endif + -+#define IPIPE_ARCH_STRING "2.10-00" ++#define IPIPE_ARCH_STRING "2.10-02" +#define IPIPE_MAJOR_NUMBER 2 +#define IPIPE_MINOR_NUMBER 10 -+#define IPIPE_PATCH_NUMBER 0 ++#define IPIPE_PATCH_NUMBER 2 + +#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH + @@ -6074,10 +6074,10 @@ index 0000000..fa1a951 +#endif /* !__LINUX_IPIPE_BASE_H */ diff --git a/include/linux/ipipe_lock.h b/include/linux/ipipe_lock.h new file mode 100644 -index 0000000..73ed46a +index 0000000..032080f --- /dev/null +++ b/include/linux/ipipe_lock.h -@@ -0,0 +1,215 @@ +@@ -0,0 +1,230 @@ +/* -*- linux-c -*- + * include/linux/ipipe_lock.h + * @@ -6143,6 +6143,19 @@ index 0000000..73ed46a + __ret__; \ + }) + ++#define PICK_SPINTRYLOCK_IRQ(lock) \ ++ ({ \ ++ int __ret__; \ ++ if (ipipe_spinlock_p(lock)) \ ++ __ret__ = __ipipe_spin_trylock_irq(ipipe_spinlock(lock)); \ ++ else if (std_spinlock_raw_p(lock)) \ ++ __ret__ = __real_raw_spin_trylock_irq(std_spinlock_raw(lock)); \ ++ else if (std_spinlock_p(lock)) \ ++ __ret__ = __real_raw_spin_trylock_irq(&std_spinlock(lock)->rlock); \ ++ else __bad_lock_type(); \ ++ __ret__; \ ++ }) ++ +#define PICK_SPINUNLOCK_IRQRESTORE(lock, flags) \ + do { \ + if (ipipe_spinlock_p(lock)) \ @@ -6238,6 +6251,8 @@ index 0000000..73ed46a + +void __ipipe_spin_lock_irq(ipipe_spinlock_t *lock); + ++int __ipipe_spin_trylock_irq(ipipe_spinlock_t *lock); ++ +void __ipipe_spin_unlock_irq(ipipe_spinlock_t *lock); + +unsigned long __ipipe_spin_lock_irqsave(ipipe_spinlock_t *lock); @@ -6774,7 +6789,7 @@ index 2b7b81d..05cbf77 100644 * tasks can access tsk->flags in readonly mode for example * with tsk_used_math (like during threaded core dumping). diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h -index 89fac6a..771e701 100644 +index 89fac6a..6135280 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -88,10 +88,12 @@ @@ -6875,7 +6890,7 @@ index 89fac6a..771e701 100644 + __real_raw_spin_trylock(lock) ? \ 1 : ({ local_irq_enable(); 0; }); \ }) -+#define raw_spin_trylock_irq(lock) PICK_SPINOP(_trylock_irq, lock) ++#define raw_spin_trylock_irq(lock) PICK_SPINTRYLOCK_IRQ(lock) -#define raw_spin_trylock_irqsave(lock, flags) \ +#define __real_raw_spin_trylock_irqsave(lock, flags) \ @@ -7295,10 +7310,10 @@ index 0000000..6257dfa +obj-$(CONFIG_IPIPE_TRACE) += tracer.o diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c new file mode 100644 -index 0000000..b7d863d +index 0000000..e2503bd --- /dev/null +++ b/kernel/ipipe/core.c -@@ -0,0 +1,1976 @@ +@@ -0,0 +1,1977 @@ +/* -*- linux-c -*- + * linux/kernel/ipipe/core.c + * @@ -9263,6 +9278,7 @@ index 0000000..b7d863d +EXPORT_SYMBOL(ipipe_send_ipi); +EXPORT_SYMBOL(__ipipe_pend_irq); +EXPORT_SYMBOL(__ipipe_set_irq_pending); ++EXPORT_SYMBOL(__ipipe_event_monitors); +#if defined(CONFIG_IPIPE_DEBUG_INTERNAL) && defined(CONFIG_SMP) +EXPORT_SYMBOL(__ipipe_check_percpu_access); +#endif _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git