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

Author: Philippe Gerum <r...@xenomai.org>
Date:   Tue Sep  1 11:16:59 2009 +0200

x86: upgrade I-pipe support to 2.6.30.5-x86-2.4-05

---

 ...patch => adeos-ipipe-2.6.30.5-x86-2.4-05.patch} |   62 ++++++++++----------
 1 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.30-x86-2.4-05.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch
similarity index 99%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.30-x86-2.4-05.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch
index 377294f..5657458 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.30-x86-2.4-05.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch
@@ -67,7 +67,7 @@ index 65551c9..12776bf 100644
  KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
  
 diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
-index 42f2f83..9aa50d2 100644
+index 9b2c049..655142e 100644
 --- a/arch/x86/include/asm/apic.h
 +++ b/arch/x86/include/asm/apic.h
 @@ -393,7 +393,13 @@ static inline u32 safe_apic_wait_icr_idle(void)
@@ -1075,7 +1075,7 @@ index 3cbd79b..79a5ea1 100644
  /*
   * Local APIC timer IRQ vector is on a different priority level,
 diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h
-index 2bdab21..bcd2f5f 100644
+index c6ccbe7..71ede94 100644
 --- a/arch/x86/include/asm/irqflags.h
 +++ b/arch/x86/include/asm/irqflags.h
 @@ -4,6 +4,10 @@
@@ -1089,7 +1089,7 @@ index 2bdab21..bcd2f5f 100644
  /*
   * Interrupt control:
   */
-@@ -12,35 +16,59 @@ static inline unsigned long native_save_fl(void)
+@@ -12,6 +16,10 @@ static inline unsigned long native_save_fl(void)
  {
        unsigned long flags;
  
@@ -1097,9 +1097,11 @@ index 2bdab21..bcd2f5f 100644
 +      flags = (!__ipipe_test_root()) << 9;
 +      barrier();
 +#else
-       asm volatile("# __raw_save_flags\n\t"
-                    "pushf ; pop %0"
-                    : "=g" (flags)
+       /*
+        * Note: this needs to be "=r" not "=rm", because we have the
+        * stack offset from what gcc expects at the time the "pop" is
+@@ -23,30 +31,50 @@ static inline unsigned long native_save_fl(void)
+                    : "=r" (flags)
                     : /* no input */
                     : "memory");
 +#endif
@@ -1149,7 +1151,7 @@ index 2bdab21..bcd2f5f 100644
        asm volatile("sti; hlt": : :"memory");
  }
  
-@@ -66,6 +94,71 @@ static inline void raw_local_irq_restore(unsigned long 
flags)
+@@ -72,6 +100,71 @@ static inline void raw_local_irq_restore(unsigned long 
flags)
        native_restore_fl(flags);
  }
  
@@ -1221,7 +1223,7 @@ index 2bdab21..bcd2f5f 100644
  static inline void raw_local_irq_disable(void)
  {
        native_irq_disable();
-@@ -99,16 +192,38 @@ static inline void halt(void)
+@@ -105,16 +198,38 @@ static inline void halt(void)
   */
  static inline unsigned long __raw_local_irq_save(void)
  {
@@ -1262,7 +1264,7 @@ index 2bdab21..bcd2f5f 100644
  
  #ifdef CONFIG_X86_64
  #define SWAPGS        swapgs
-@@ -151,8 +266,10 @@ static inline unsigned long __raw_local_irq_save(void)
+@@ -157,8 +272,10 @@ static inline unsigned long __raw_local_irq_save(void)
  #define raw_local_save_flags(flags)                           \
        do { (flags) = __raw_local_save_flags(); } while (0)
  
@@ -1547,7 +1549,7 @@ index 306e5e8..a9b89cd 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 30da617..a2c5284 100644
+index edfc25c..cf587ff 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
 @@ -72,8 +72,12 @@
@@ -4414,7 +4416,7 @@ index a1d2883..a84914a 100644
  EXPORT_SYMBOL_GPL(math_state_restore);
  
 diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
-index d7ac84e..b0105b9 100644
+index 6a17769..d78abc4 100644
 --- a/arch/x86/kernel/vm86_32.c
 +++ b/arch/x86/kernel/vm86_32.c
 @@ -148,12 +148,14 @@ struct pt_regs *save_v86_state(struct kernel_vm86_regs 
*regs)
@@ -4432,7 +4434,7 @@ index d7ac84e..b0105b9 100644
  
        ret = KVM86->regs32;
  
-@@ -325,12 +327,14 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, 
struct task_struct *tsk
+@@ -324,12 +326,14 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, 
struct task_struct *tsk
        tsk->thread.saved_fs = info->regs32->fs;
        tsk->thread.saved_gs = get_user_gs(info->regs32);
  
@@ -4824,7 +4826,7 @@ index b2ba2fc..ed01ab9 100644
  }
  
 diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index d7d50d7..5d5b6ba 100644
+index aa00800..886c45f 100644
 --- a/include/asm-generic/percpu.h
 +++ b/include/asm-generic/percpu.h
 @@ -56,6 +56,20 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
@@ -6070,7 +6072,7 @@ index 883cd44..37dcbb0 100644
  
  #ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index bff1f0d..5451a53 100644
+index 0c21af6..097ac12 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
 @@ -106,6 +106,8 @@ extern unsigned int kobjsize(const void *objp);
@@ -6110,7 +6112,7 @@ index 72b1a10..80553be 100644
  
  #define inc_preempt_count() add_preempt_count(1)
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index b4c38bc..6282707 100644
+index 03c6c36..610fc20 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
 @@ -59,6 +59,7 @@ struct sched_param {
@@ -6566,7 +6568,7 @@ index abf9cf3..887651d 100644
        exit_files(tsk);
        exit_fs(tsk);
 diff --git a/kernel/fork.c b/kernel/fork.c
-index 875ffbd..899defb 100644
+index 9c1f52d..5b2dd59 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
 @@ -488,6 +488,7 @@ void mmput(struct mm_struct *mm)
@@ -10495,10 +10497,10 @@ index 5052b54..bfaf8ec 100644
  /* cpu currently holding logbuf_lock */
  static volatile unsigned int printk_cpu = UINT_MAX;
 diff --git a/kernel/sched.c b/kernel/sched.c
-index 26efa47..450d5cd 100644
+index 0d3d47f..dd38aac 100644
 --- a/kernel/sched.c
 +++ b/kernel/sched.c
-@@ -2368,7 +2368,7 @@ static int try_to_wake_up(struct task_struct *p, 
unsigned int state, int sync)
+@@ -2369,7 +2369,7 @@ static int try_to_wake_up(struct task_struct *p, 
unsigned int state, int sync)
        rq = task_rq_lock(p, &flags);
        update_rq_clock(rq);
        old_state = p->state;
@@ -10507,7 +10509,7 @@ index 26efa47..450d5cd 100644
                goto out;
  
        if (p->se.on_rq)
-@@ -2745,13 +2745,15 @@ asmlinkage void schedule_tail(struct task_struct *prev)
+@@ -2746,13 +2746,15 @@ asmlinkage void schedule_tail(struct task_struct *prev)
  #endif
        if (current->set_child_tid)
                put_user(task_pid_vnr(current), current->set_child_tid);
@@ -10524,7 +10526,7 @@ index 26efa47..450d5cd 100644
  context_switch(struct rq *rq, struct task_struct *prev,
               struct task_struct *next)
  {
-@@ -2793,12 +2795,23 @@ context_switch(struct rq *rq, struct task_struct *prev,
+@@ -2794,12 +2796,23 @@ context_switch(struct rq *rq, struct task_struct *prev,
        switch_to(prev, next, prev);
  
        barrier();
@@ -10548,7 +10550,7 @@ index 26efa47..450d5cd 100644
  }
  
  /*
-@@ -4861,6 +4874,7 @@ notrace unsigned long get_parent_ip(unsigned long addr)
+@@ -4862,6 +4875,7 @@ notrace unsigned long get_parent_ip(unsigned long addr)
  
  void __kprobes add_preempt_count(int val)
  {
@@ -10556,7 +10558,7 @@ index 26efa47..450d5cd 100644
  #ifdef CONFIG_DEBUG_PREEMPT
        /*
         * Underflow?
-@@ -4883,6 +4897,7 @@ EXPORT_SYMBOL(add_preempt_count);
+@@ -4884,6 +4898,7 @@ EXPORT_SYMBOL(add_preempt_count);
  
  void __kprobes sub_preempt_count(int val)
  {
@@ -10564,7 +10566,7 @@ index 26efa47..450d5cd 100644
  #ifdef CONFIG_DEBUG_PREEMPT
        /*
         * Underflow?
-@@ -4931,6 +4946,7 @@ static noinline void __schedule_bug(struct task_struct 
*prev)
+@@ -4932,6 +4947,7 @@ static noinline void __schedule_bug(struct task_struct 
*prev)
   */
  static inline void schedule_debug(struct task_struct *prev)
  {
@@ -10572,7 +10574,7 @@ index 26efa47..450d5cd 100644
        /*
         * Test if we are atomic. Since do_exit() needs to call into
         * schedule() atomically, we ignore that path for now.
-@@ -5007,7 +5023,7 @@ pick_next_task(struct rq *rq)
+@@ -5008,7 +5024,7 @@ pick_next_task(struct rq *rq)
  /*
   * schedule() is the main scheduler function.
   */
@@ -10581,7 +10583,7 @@ index 26efa47..450d5cd 100644
  {
        struct task_struct *prev, *next;
        unsigned long *switch_count;
-@@ -5019,6 +5035,9 @@ asmlinkage void __sched __schedule(void)
+@@ -5020,6 +5036,9 @@ asmlinkage void __sched __schedule(void)
        rcu_qsctr_inc(cpu);
        prev = rq->curr;
        switch_count = &prev->nivcsw;
@@ -10591,7 +10593,7 @@ index 26efa47..450d5cd 100644
  
        release_kernel_lock(prev);
  need_resched_nonpreemptible:
-@@ -5058,25 +5077,31 @@ need_resched_nonpreemptible:
+@@ -5059,25 +5078,31 @@ need_resched_nonpreemptible:
                rq->curr = next;
                ++*switch_count;
  
@@ -10626,7 +10628,7 @@ index 26efa47..450d5cd 100644
        preempt_enable_no_resched();
        if (unlikely(test_thread_flag(TIF_NEED_RESCHED)))
                goto need_resched;
-@@ -5906,6 +5931,7 @@ recheck:
+@@ -5907,6 +5932,7 @@ recheck:
  
        oldprio = p->prio;
        __setscheduler(rq, p, policy, param->sched_priority);
@@ -10634,7 +10636,7 @@ index 26efa47..450d5cd 100644
  
        if (running)
                p->sched_class->set_curr_task(rq);
-@@ -6253,6 +6279,7 @@ static void __cond_resched(void)
+@@ -6254,6 +6280,7 @@ static void __cond_resched(void)
  #ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
        __might_sleep(__FILE__, __LINE__);
  #endif
@@ -10642,7 +10644,7 @@ index 26efa47..450d5cd 100644
        /*
         * The BKS might be reacquired before we have dropped
         * PREEMPT_ACTIVE, which could trigger a second
-@@ -10239,3 +10266,60 @@ struct cgroup_subsys cpuacct_subsys = {
+@@ -10240,3 +10267,60 @@ struct cgroup_subsys cpuacct_subsys = {
        .subsys_id = cpuacct_subsys_id,
  };
  #endif        /* CONFIG_CGROUP_CPUACCT */
@@ -10866,7 +10868,7 @@ index f1ed080..aa45f71 100644
        /* ftrace_dyn_arch_init places the return code in addr */
        if (addr)
 diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index 6cdcf38..96d98a6 100644
+index 3be4b7c..c970fab 100644
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
 @@ -128,6 +128,8 @@ config DEBUG_SECTION_MISMATCH


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

Reply via email to