Module: xenomai-rpm Branch: for-upstream Commit: 025dc6fb512e29839e6befc78c47a20d8f89ad41 URL: http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=025dc6fb512e29839e6befc78c47a20d8f89ad41
Author: Philippe Gerum <[email protected]> Date: Thu Jun 17 14:33:02 2010 +0200 powerpc: upgrade I-pipe support to 2.6.34-powerpc-2.10-02 --- ...ch => adeos-ipipe-2.6.34-powerpc-2.10-02.patch} | 29 +++++++++++++++----- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-01.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-01.patch rename to ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-02.patch index ba5e550..8f27969 100644 --- a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.10-01.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..4bb5021 +index 0000000..8aa91f0 --- /dev/null +++ b/arch/powerpc/include/asm/ipipe.h @@ -0,0 +1,277 @@ @@ -313,10 +313,10 @@ index 0000000..4bb5021 +#include <asm/paca.h> +#endif + -+#define IPIPE_ARCH_STRING "2.10-01" ++#define IPIPE_ARCH_STRING "2.10-02" +#define IPIPE_MAJOR_NUMBER 2 +#define IPIPE_MINOR_NUMBER 10 -+#define IPIPE_PATCH_NUMBER 1 ++#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) \ _______________________________________________ Xenomai-git mailing list [email protected] https://mail.gna.org/listinfo/xenomai-git
