[Xenomai-git] Philippe Gerum : x86: update fpu state accessor for 2.6.35+

2010-05-26 Thread GIT version control
Module: xenomai-rpm
Branch: for-upstream
Commit: 1fc82f8e0399f1ca9c69099426a9808e5fcfc69d
URL:
http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=1fc82f8e0399f1ca9c69099426a9808e5fcfc69d

Author: Philippe Gerum r...@xenomai.org
Date:   Wed May 26 12:12:45 2010 +0200

x86: update fpu state accessor for 2.6.35+

---

 include/asm-x86/wrappers_32.h |5 -
 include/asm-x86/wrappers_64.h |5 -
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/asm-x86/wrappers_32.h b/include/asm-x86/wrappers_32.h
index f738dc4..5f37766 100644
--- a/include/asm-x86/wrappers_32.h
+++ b/include/asm-x86/wrappers_32.h
@@ -219,9 +219,12 @@ typedef irq_handler_t rthal_irq_host_handler_t;
 #if LINUX_VERSION_CODE = KERNEL_VERSION(2,6,25)
 typedef union i387_union x86_fpustate;
 #define x86_fpustate_ptr(t) ((t)-i387)
-#else
+#elif LINUX_VERSION_CODE = KERNEL_VERSION(2,6,34)
 typedef union thread_xstate x86_fpustate;
 #define x86_fpustate_ptr(t) ((t)-xstate)
+#else /* 2.6.35 and above */
+typedef union thread_xstate x86_fpustate;
+#define x86_fpustate_ptr(t) ((t)-fpu.state)
 #endif
 
 #endif /* _XENO_ASM_X86_WRAPPERS_32_H */
diff --git a/include/asm-x86/wrappers_64.h b/include/asm-x86/wrappers_64.h
index 346cf71..a61f6ba 100644
--- a/include/asm-x86/wrappers_64.h
+++ b/include/asm-x86/wrappers_64.h
@@ -70,9 +70,12 @@ typedef irq_handler_t rthal_irq_host_handler_t;
 #if LINUX_VERSION_CODE = KERNEL_VERSION(2,6,25)
 typedef union i387_union x86_fpustate;
 #define x86_fpustate_ptr(t) ((t)-i387)
-#else
+#elif LINUX_VERSION_CODE = KERNEL_VERSION(2,6,34)
 typedef union thread_xstate x86_fpustate;
 #define x86_fpustate_ptr(t) ((t)-xstate)
+#else /* 2.6.35 and above */
+typedef union thread_xstate x86_fpustate;
+#define x86_fpustate_ptr(t) ((t)-fpu.state)
 #endif
 
 #endif /* _XENO_ASM_X86_WRAPPERS_64_H */


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : x86: upgrade I-pipe support to 2.6.34-x86-2.6-04

2010-05-26 Thread GIT version control
Module: xenomai-rpm
Branch: for-upstream
Commit: 66f9d24ad1ffa476c91925d952190ca97ac1158a
URL:
http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=66f9d24ad1ffa476c91925d952190ca97ac1158a

Author: Philippe Gerum r...@xenomai.org
Date:   Wed May 26 12:14:03 2010 +0200

x86: upgrade I-pipe support to 2.6.34-x86-2.6-04

---

 ...3.patch = adeos-ipipe-2.6.34-x86-2.6-04.patch} |  175 +---
 1 files changed, 81 insertions(+), 94 deletions(-)

diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.patch
similarity index 98%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.patch
index c5c34af..01a029b 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.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 000..37ed040
+index 000..4d711dd
 --- /dev/null
 +++ b/arch/x86/include/asm/ipipe.h
 @@ -0,0 +1,156 @@
@@ -199,10 +199,10 @@ index 000..37ed040
 +#ifdef CONFIG_IPIPE
 +
 +#ifndef IPIPE_ARCH_STRING
-+#define IPIPE_ARCH_STRING 2.6-03
++#define IPIPE_ARCH_STRING 2.6-04
 +#define IPIPE_MAJOR_NUMBER2
 +#define IPIPE_MINOR_NUMBER6
-+#define IPIPE_PATCH_NUMBER3
++#define IPIPE_PATCH_NUMBER4
 +#endif
 +
 +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs);
@@ -1358,7 +1358,7 @@ index 09d3b17..0820b62 100644
  
  static void flat_send_IPI_mask(const struct cpumask *cpumask, int vector)
 diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 127b871..d77ffa8 100644
+index eb2789c..4069f88 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
 @@ -74,8 +74,8 @@
@@ -1414,7 +1414,7 @@ index 127b871..d77ffa8 100644
raw_spin_unlock_irqrestore(ioapic_lock, flags);
  
return was_pending;
-@@ -2553,11 +2560,13 @@ static inline void irq_complete_move(struct irq_desc 
**descp) {}
+@@ -2556,11 +2563,13 @@ static inline void irq_complete_move(struct irq_desc 
**descp) {}
  
  static void ack_apic_edge(unsigned int irq)
  {
@@ -1429,7 +1429,7 @@ index 127b871..d77ffa8 100644
  }
  
  atomic_t irq_mis_count;
-@@ -2601,6 +2610,8 @@ static void __eoi_ioapic_irq(unsigned int irq, struct 
irq_cfg *cfg)
+@@ -2604,6 +2613,8 @@ static void __eoi_ioapic_irq(unsigned int irq, struct 
irq_cfg *cfg)
}
  }
  
@@ -1438,7 +1438,7 @@ index 127b871..d77ffa8 100644
  static void eoi_ioapic_irq(struct irq_desc *desc)
  {
struct irq_cfg *cfg;
-@@ -2615,12 +2626,44 @@ static void eoi_ioapic_irq(struct irq_desc *desc)
+@@ -2618,12 +2629,44 @@ static void eoi_ioapic_irq(struct irq_desc *desc)
raw_spin_unlock_irqrestore(ioapic_lock, flags);
  }
  
@@ -1483,7 +1483,7 @@ index 127b871..d77ffa8 100644
int do_unmask_irq = 0;
  
irq_complete_move(desc);
-@@ -2720,19 +2763,40 @@ static void ack_apic_level(unsigned int irq)
+@@ -2723,19 +2766,40 @@ static void ack_apic_level(unsigned int irq)
move_masked_irq(irq);
unmask_IO_APIC_irq_desc(desc);
}
@@ -1526,7 +1526,7 @@ index 127b871..d77ffa8 100644
eoi_ioapic_irq(desc);
  }
  #endif /* CONFIG_INTR_REMAP */
-@@ -2746,6 +2810,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
+@@ -2749,6 +2813,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
.eoi= ack_apic_level,
  #ifdef CONFIG_SMP
.set_affinity   = set_ioapic_affinity_irq,
@@ -1536,7 +1536,7 @@ index 127b871..d77ffa8 100644
  #endif
.retrigger  = ioapic_retrigger_irq,
  };
-@@ -2760,6 +2827,9 @@ static struct irq_chip ir_ioapic_chip __read_mostly = {
+@@ -2763,6 +2830,9 @@ static struct irq_chip ir_ioapic_chip __read_mostly = {
.eoi= ir_ack_apic_level,
  #ifdef CONFIG_SMP
.set_affinity   = set_ir_ioapic_affinity_irq,
@@ -1546,7 +1546,7 @@ index 127b871..d77ffa8 100644
  #endif
  #endif
.retrigger  = ioapic_retrigger_irq,
-@@ -2805,23 +2875,29 @@ static inline void init_IO_APIC_traps(void)
+@@ -2808,23 +2878,29 @@ static inline void init_IO_APIC_traps(void)
  
  static void mask_lapic_irq(unsigned int irq)
  {
@@ -1579,7 +1579,7 @@ index 127b871..d77ffa8 100644
  }
  
  static struct irq_chip lapic_chip __read_mostly = {
-@@ -2829,6 +2905,9 @@ static struct irq_chip lapic_chip __read_mostly = {
+@@ -2832,6 +2908,9 @@ static struct irq_chip lapic_chip __read_mostly = {
.mask   = mask_lapic_irq,
.unmask = unmask_lapic_irq,
.ack= ack_lapic_irq,
@@ -1589,7 +1589,7 @@ index 127b871..d77ffa8 100644
  };
  
  static void lapic_register_intr(int irq, struct irq_desc *desc)
-@@ -3076,6 +3155,10 @@ static inline void __init check_timer(void)
+@@ -3079,6 +3158,10 

[Xenomai-git] Philippe Gerum : powerpc: upgrade I-pipe support to 2.6.34-powerpc-2.6-04

2010-05-26 Thread GIT version control
Module: xenomai-rpm
Branch: for-upstream
Commit: 170ae6e0d10b8709a361b6947fe5170764bfe89f
URL:
http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=170ae6e0d10b8709a361b6947fe5170764bfe89f

Author: Philippe Gerum r...@xenomai.org
Date:   Wed May 26 18:54:53 2010 +0200

powerpc: upgrade I-pipe support to 2.6.34-powerpc-2.6-04

---

 ...tch = adeos-ipipe-2.6.34-powerpc-2.9-01.patch} |  218 +++-
 1 files changed, 125 insertions(+), 93 deletions(-)

diff --git 
a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-rc5-powerpc-2.9-01.patch 
b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.9-01.patch
similarity index 98%
rename from 
ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-rc5-powerpc-2.9-01.patch
rename to ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.9-01.patch
index 3658c33..45bd252 100644
--- a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-rc5-powerpc-2.9-01.patch
+++ b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.34-powerpc-2.9-01.patch
@@ -51,6 +51,16 @@ index 2e19500..64449b7 100644
  config HIGHMEM
bool High memory support
depends on PPC32
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 1a54a3b..21788aa 100644
+--- a/arch/powerpc/Makefile
 b/arch/powerpc/Makefile
+@@ -250,3 +250,5 @@ checkbin:
+ 
+ CLEAN_FILES += $(TOUT)
+ 
++
++drivers-$(CONFIG_XENOMAI) += arch/powerpc/xenomai/
 diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
 index bb2465b..3e33b21 100644
 --- a/arch/powerpc/boot/Makefile
@@ -237,7 +247,7 @@ index dde1296..8865751 100644
stw r5, 20(r1); \
stw r6, 24(r1); \
 diff --git a/arch/powerpc/include/asm/hw_irq.h 
b/arch/powerpc/include/asm/hw_irq.h
-index 9f4c9d4..ce168bf 100644
+index bd100fc..8fa1901 100644
 --- a/arch/powerpc/include/asm/hw_irq.h
 +++ b/arch/powerpc/include/asm/hw_irq.h
 @@ -13,6 +13,10 @@
@@ -1233,7 +1243,7 @@ index 8773263..aafe4c0 100644
  obj-$(CONFIG_PPC_OF)  += of_device.o of_platform.o prom_parse.o
  obj-$(CONFIG_PPC_CLOCK)   += clock.o
 diff --git a/arch/powerpc/kernel/asm-offsets.c 
b/arch/powerpc/kernel/asm-offsets.c
-index 957ceb7..5e75c5b 100644
+index c09138d..d725dd6 100644
 --- a/arch/powerpc/kernel/asm-offsets.c
 +++ b/arch/powerpc/kernel/asm-offsets.c
 @@ -131,8 +131,12 @@ int main(void)
@@ -1246,10 +1256,10 @@ index 957ceb7..5e75c5b 100644
 +#elif CONFIG_IPIPE
 +  DEFINE(PACAROOTPCPU, offsetof(struct paca_struct, root_percpu));
 +#endif
-   DEFINE(PACAPERFPEND, offsetof(struct paca_struct, perf_event_pending));
DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id));
  #ifdef CONFIG_PPC_MM_SLICES
-@@ -300,7 +304,9 @@ int main(void)
+   DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct,
+@@ -299,7 +303,9 @@ int main(void)
DEFINE(_DEAR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dar));
DEFINE(_ESR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dsisr));
  #else /* CONFIG_PPC64 */
@@ -1409,7 +1419,7 @@ index 1175a85..d559ae1 100644
   * PROM code for specific machines follows.  Put it
   * here so it's easy to add arch-specific sections later.
 diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
-index 07109d8..67a3674 100644
+index 42e9d90..22595e7 100644
 --- a/arch/powerpc/kernel/entry_64.S
 +++ b/arch/powerpc/kernel/entry_64.S
 @@ -33,6 +33,11 @@
@@ -1577,28 +1587,12 @@ index 07109d8..67a3674 100644
  BEGIN_FW_FTR_SECTION
ld  r5,SOFTE(r1)
  FW_FTR_SECTION_ELSE
-@@ -564,12 +654,38 @@ ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES)
-   bl  .perf_event_do_pending
- 27:
- #endif /* CONFIG_PERF_EVENTS */
--
-   /* extract EE bit and use it to restore paca-hard_enabled */
-   ld  r3,_MSR(r1)
+@@ -561,6 +651,23 @@ ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES)
rldicl  r4,r3,49,63 /* r0 = (r3  15)  1 */
stb r4,PACAHARDIRQEN(r13)
  
 +#else /* !CONFIG_SOFTDISABLE */
 +#ifdef CONFIG_IPIPE
-+#ifdef CONFIG_PERF_EVENTS
-+  /* check paca-perf_event_pending if we're enabling ints */
-+  ld  r5,_MSR(r1)
-+  rldicl  r5,r5,49,63 /* r0 = (r3  15)  1 */
-+  lbz r3,PACAPERFPEND(r13)
-+  and.r3,r3,r5
-+  beq 27f
-+  bl  .perf_event_do_pending
-+27:
-+#endif /* CONFIG_PERF_EVENTS */
 +#ifdef CONFIG_IPIPE_TRACE_IRQSOFF
 +  ld  r3,_MSR(r1)
 +  rldicl  r3,r3,49,63 /* r0 = (r3  15)  1 */
@@ -1617,7 +1611,7 @@ index 07109d8..67a3674 100644
  #ifdef CONFIG_PPC_BOOK3E
b   .exception_return_book3e
  #else
-@@ -659,6 +775,7 @@ do_work:
+@@ -650,6 +757,7 @@ do_work:
crandc  eq,cr1*4+eq,eq
bne restore
  
@@ -1625,7 +1619,7 @@ index 07109d8..67a3674 100644
/* Here we are preempting the current task.
 *
 * Ensure interrupts are soft-disabled. We also properly mark
-@@ -669,9 +786,14 @@ do_work:
+@@ -660,9 +768,14 @@ do_work:
stb 

[Xenomai-git] Philippe Gerum : x86: upgrade I-pipe support to 2.6.34-x86-2.6-04

2010-05-26 Thread GIT version control
Module: xenomai-rpm
Branch: for-upstream
Commit: 2465f3dea7ff399bb68d46f9d4e6c796fabaa72f
URL:
http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=2465f3dea7ff399bb68d46f9d4e6c796fabaa72f

Author: Philippe Gerum r...@xenomai.org
Date:   Wed May 26 18:54:15 2010 +0200

x86: upgrade I-pipe support to 2.6.34-x86-2.6-04

---

 ...3.patch = adeos-ipipe-2.6.34-x86-2.6-04.patch} |  175 +---
 1 files changed, 81 insertions(+), 94 deletions(-)

diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.patch
similarity index 98%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.patch
index c5c34af..01a029b 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-rc5-x86-2.6-03.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.34-x86-2.6-04.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 000..37ed040
+index 000..4d711dd
 --- /dev/null
 +++ b/arch/x86/include/asm/ipipe.h
 @@ -0,0 +1,156 @@
@@ -199,10 +199,10 @@ index 000..37ed040
 +#ifdef CONFIG_IPIPE
 +
 +#ifndef IPIPE_ARCH_STRING
-+#define IPIPE_ARCH_STRING 2.6-03
++#define IPIPE_ARCH_STRING 2.6-04
 +#define IPIPE_MAJOR_NUMBER2
 +#define IPIPE_MINOR_NUMBER6
-+#define IPIPE_PATCH_NUMBER3
++#define IPIPE_PATCH_NUMBER4
 +#endif
 +
 +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs);
@@ -1358,7 +1358,7 @@ index 09d3b17..0820b62 100644
  
  static void flat_send_IPI_mask(const struct cpumask *cpumask, int vector)
 diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 127b871..d77ffa8 100644
+index eb2789c..4069f88 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
 @@ -74,8 +74,8 @@
@@ -1414,7 +1414,7 @@ index 127b871..d77ffa8 100644
raw_spin_unlock_irqrestore(ioapic_lock, flags);
  
return was_pending;
-@@ -2553,11 +2560,13 @@ static inline void irq_complete_move(struct irq_desc 
**descp) {}
+@@ -2556,11 +2563,13 @@ static inline void irq_complete_move(struct irq_desc 
**descp) {}
  
  static void ack_apic_edge(unsigned int irq)
  {
@@ -1429,7 +1429,7 @@ index 127b871..d77ffa8 100644
  }
  
  atomic_t irq_mis_count;
-@@ -2601,6 +2610,8 @@ static void __eoi_ioapic_irq(unsigned int irq, struct 
irq_cfg *cfg)
+@@ -2604,6 +2613,8 @@ static void __eoi_ioapic_irq(unsigned int irq, struct 
irq_cfg *cfg)
}
  }
  
@@ -1438,7 +1438,7 @@ index 127b871..d77ffa8 100644
  static void eoi_ioapic_irq(struct irq_desc *desc)
  {
struct irq_cfg *cfg;
-@@ -2615,12 +2626,44 @@ static void eoi_ioapic_irq(struct irq_desc *desc)
+@@ -2618,12 +2629,44 @@ static void eoi_ioapic_irq(struct irq_desc *desc)
raw_spin_unlock_irqrestore(ioapic_lock, flags);
  }
  
@@ -1483,7 +1483,7 @@ index 127b871..d77ffa8 100644
int do_unmask_irq = 0;
  
irq_complete_move(desc);
-@@ -2720,19 +2763,40 @@ static void ack_apic_level(unsigned int irq)
+@@ -2723,19 +2766,40 @@ static void ack_apic_level(unsigned int irq)
move_masked_irq(irq);
unmask_IO_APIC_irq_desc(desc);
}
@@ -1526,7 +1526,7 @@ index 127b871..d77ffa8 100644
eoi_ioapic_irq(desc);
  }
  #endif /* CONFIG_INTR_REMAP */
-@@ -2746,6 +2810,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
+@@ -2749,6 +2813,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
.eoi= ack_apic_level,
  #ifdef CONFIG_SMP
.set_affinity   = set_ioapic_affinity_irq,
@@ -1536,7 +1536,7 @@ index 127b871..d77ffa8 100644
  #endif
.retrigger  = ioapic_retrigger_irq,
  };
-@@ -2760,6 +2827,9 @@ static struct irq_chip ir_ioapic_chip __read_mostly = {
+@@ -2763,6 +2830,9 @@ static struct irq_chip ir_ioapic_chip __read_mostly = {
.eoi= ir_ack_apic_level,
  #ifdef CONFIG_SMP
.set_affinity   = set_ir_ioapic_affinity_irq,
@@ -1546,7 +1546,7 @@ index 127b871..d77ffa8 100644
  #endif
  #endif
.retrigger  = ioapic_retrigger_irq,
-@@ -2805,23 +2875,29 @@ static inline void init_IO_APIC_traps(void)
+@@ -2808,23 +2878,29 @@ static inline void init_IO_APIC_traps(void)
  
  static void mask_lapic_irq(unsigned int irq)
  {
@@ -1579,7 +1579,7 @@ index 127b871..d77ffa8 100644
  }
  
  static struct irq_chip lapic_chip __read_mostly = {
-@@ -2829,6 +2905,9 @@ static struct irq_chip lapic_chip __read_mostly = {
+@@ -2832,6 +2908,9 @@ static struct irq_chip lapic_chip __read_mostly = {
.mask   = mask_lapic_irq,
.unmask = unmask_lapic_irq,
.ack= ack_lapic_irq,
@@ -1589,7 +1589,7 @@ index 127b871..d77ffa8 100644
  };
  
  static void lapic_register_intr(int irq, struct irq_desc *desc)
-@@ -3076,6 +3155,10 @@ static inline void __init check_timer(void)
+@@ -3079,6 +3158,10