Module: xenomai-head
Branch: master
Commit: 4f42de74f9b9a1d29093ba695e5ae0ff4a66a132
URL:    
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=4f42de74f9b9a1d29093ba695e5ae0ff4a66a132

Author: Philippe Gerum <r...@xenomai.org>
Date:   Fri Dec  4 10:30:01 2009 +0100

x86: upgrade I-pipe support to 2.6.31.1-x86-2.4-07

---

 ...patch => adeos-ipipe-2.6.31.1-x86-2.4-07.patch} |   49 ++++++++++---------
 1 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-07.patch
similarity index 99%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-07.patch
index 9cdbf4d..19da2e1 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-07.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..017417c
+index 0000000..ec73274
 --- /dev/null
 +++ b/arch/x86/include/asm/ipipe.h
 @@ -0,0 +1,156 @@
@@ -199,10 +199,10 @@ index 0000000..017417c
 +#ifdef CONFIG_IPIPE
 +
 +#ifndef IPIPE_ARCH_STRING
-+#define IPIPE_ARCH_STRING     "2.4-06"
++#define IPIPE_ARCH_STRING     "2.4-07"
 +#define IPIPE_MAJOR_NUMBER    2
 +#define IPIPE_MINOR_NUMBER    4
-+#define IPIPE_PATCH_NUMBER    6
++#define IPIPE_PATCH_NUMBER    7
 +#endif
 +
 +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs);
@@ -4065,18 +4065,19 @@ index 071166a..4944cbb 100644
                 * One CPU supports mwait => All CPUs supports mwait
                 */
 diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
-index 59f4524..a8a5cd1 100644
+index 59f4524..e31de9e 100644
 --- a/arch/x86/kernel/process_32.c
 +++ b/arch/x86/kernel/process_32.c
-@@ -114,6 +114,7 @@ void cpu_idle(void)
+@@ -111,6 +111,8 @@ void cpu_idle(void)
+                       if (cpu_is_offline(cpu))
+                               play_dead();
+ 
++                      ipipe_suspend_domain();
++
                        local_irq_disable();
                        /* Don't trace irqs off for idle */
                        stop_critical_timings();
-+                      ipipe_suspend_domain();
-                       pm_idle();
-                       start_critical_timings();
-               }
-@@ -308,10 +309,12 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, 
unsigned long new_sp)
+@@ -308,10 +310,12 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, 
unsigned long new_sp)
        regs->cs                = __USER_CS;
        regs->ip                = new_ip;
        regs->sp                = new_sp;
@@ -4089,7 +4090,7 @@ index 59f4524..a8a5cd1 100644
  }
  EXPORT_SYMBOL_GPL(start_thread);
  
-@@ -348,7 +351,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct 
*next_p)
+@@ -348,7 +352,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct 
*next_p)
  {
        struct thread_struct *prev = &prev_p->thread,
                                 *next = &next_p->thread;
@@ -4099,7 +4100,7 @@ index 59f4524..a8a5cd1 100644
  
        /* never put a printk in __switch_to... printk() calls wake_up*() 
indirectly */
 diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
-index ebefb54..02efd18 100644
+index ebefb54..b30dc4d 100644
 --- a/arch/x86/kernel/process_64.c
 +++ b/arch/x86/kernel/process_64.c
 @@ -61,6 +61,8 @@ EXPORT_PER_CPU_SYMBOL(current_task);
@@ -4111,15 +4112,17 @@ index ebefb54..02efd18 100644
  unsigned long kernel_thread_flags = CLONE_VM | CLONE_UNTRACED;
  
  static ATOMIC_NOTIFIER_HEAD(idle_notifier);
-@@ -143,6 +145,7 @@ void cpu_idle(void)
-                       enter_idle();
-                       /* Don't trace irqs off for idle */
-                       stop_critical_timings();
-+                      ipipe_suspend_domain();
-                       pm_idle();
-                       start_critical_timings();
-                       /* In many cases the interrupt that ended idle
-@@ -295,6 +298,7 @@ int copy_thread(unsigned long clone_flags, unsigned long 
sp,
+@@ -134,6 +136,9 @@ void cpu_idle(void)
+ 
+                       if (cpu_is_offline(smp_processor_id()))
+                               play_dead();
++
++                      ipipe_suspend_domain();
++
+                       /*
+                        * Idle routines should keep interrupts disabled
+                        * from here on, until they go to idle.
+@@ -295,6 +300,7 @@ int copy_thread(unsigned long clone_flags, unsigned long 
sp,
        p->thread.sp = (unsigned long) childregs;
        p->thread.sp0 = (unsigned long) (childregs+1);
        p->thread.usersp = me->thread.usersp;
@@ -4127,7 +4130,7 @@ index ebefb54..02efd18 100644
  
        set_tsk_thread_flag(p, TIF_FORK);
  
-@@ -361,10 +365,12 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, 
unsigned long new_sp)
+@@ -361,10 +367,12 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, 
unsigned long new_sp)
        regs->ss                = __USER_DS;
        regs->flags             = 0x200;
        set_fs(USER_DS);
@@ -4140,7 +4143,7 @@ index ebefb54..02efd18 100644
  }
  EXPORT_SYMBOL_GPL(start_thread);
  
-@@ -383,7 +389,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct 
*next_p)
+@@ -383,7 +391,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct 
*next_p)
  {
        struct thread_struct *prev = &prev_p->thread;
        struct thread_struct *next = &next_p->thread;


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

Reply via email to