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