Module: xenomai-rpm Branch: for-upstream Commit: 6b983da90f09deb25fb15dae92357be429712aee URL: http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=6b983da90f09deb25fb15dae92357be429712aee
Author: Philippe Gerum <r...@xenomai.org> Date: Thu Jun 17 14:33:34 2010 +0200 x86: upgrade I-pipe support to 2.6.34-x86-2.7-02 --- ...1.patch => adeos-ipipe-2.6.34-x86-2.7-02.patch} | 29 +++++++++++++++----- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-01.patch b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-02.patch similarity index 99% rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-01.patch rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-02.patch index d214c88..5f37be9 100644 --- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-01.patch +++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.7-02.patch @@ -168,7 +168,7 @@ index 0b72282..6574056 100644 /* diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 0000000..ef806d7 +index 0000000..8e5c394 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,181 @@ @@ -199,10 +199,10 @@ index 0000000..ef806d7 +#ifdef CONFIG_IPIPE + +#ifndef IPIPE_ARCH_STRING -+#define IPIPE_ARCH_STRING "2.7-01" ++#define IPIPE_ARCH_STRING "2.7-02" +#define IPIPE_MAJOR_NUMBER 2 +#define IPIPE_MINOR_NUMBER 7 -+#define IPIPE_PATCH_NUMBER 1 ++#define IPIPE_PATCH_NUMBER 2 +#endif + +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs); @@ -5708,10 +5708,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 + * @@ -5777,6 +5777,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)) \ @@ -5872,6 +5885,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); @@ -6408,7 +6423,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 @@ @@ -6509,7 +6524,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 Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git