Module: xenomai-rpm
Branch: for-upstream
Commit: 131e4ecbada4de9ea19aea1615e130d439f979c0
URL:    
http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=131e4ecbada4de9ea19aea1615e130d439f979c0

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sat Apr 30 17:01:20 2011 +0200

powerpc: upgrade I-pipe support to 2.6.36.4-powerpc-2.12-04

---

 ... => adeos-ipipe-2.6.36.4-powerpc-2.12-04.patch} |   90 ++++++++++----------
 1 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36-powerpc-2.12-03.patch 
b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36.4-powerpc-2.12-04.patch
similarity index 99%
rename from ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36-powerpc-2.12-03.patch
rename to ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36.4-powerpc-2.12-04.patch
index 9fdbd59..2eebfe7 100644
--- a/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36-powerpc-2.12-03.patch
+++ b/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.36.4-powerpc-2.12-04.patch
@@ -265,7 +265,7 @@ index bd100fc..8fa1901 100644
   * or should we not care like we do now ? --BenH.
 diff --git a/arch/powerpc/include/asm/ipipe.h 
b/arch/powerpc/include/asm/ipipe.h
 new file mode 100644
-index 0000000..3ff4004
+index 0000000..9ddee0b
 --- /dev/null
 +++ b/arch/powerpc/include/asm/ipipe.h
 @@ -0,0 +1,245 @@
@@ -316,10 +316,10 @@ index 0000000..3ff4004
 +#include <asm/paca.h>
 +#endif
 +
-+#define IPIPE_ARCH_STRING     "2.12-03"
++#define IPIPE_ARCH_STRING     "2.12-04"
 +#define IPIPE_MAJOR_NUMBER    2
 +#define IPIPE_MINOR_NUMBER    12
-+#define IPIPE_PATCH_NUMBER    3
++#define IPIPE_PATCH_NUMBER    4
 +
 +#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
 +
@@ -4035,7 +4035,7 @@ index 784a400..8979330 100644
        native_lock_hpte(hptep);
        hpte_v = hptep->v;
 diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
-index 09dffe6..1637d97 100644
+index 1eb64ba..8c448fc 100644
 --- a/arch/powerpc/mm/hash_utils_64.c
 +++ b/arch/powerpc/mm/hash_utils_64.c
 @@ -113,7 +113,7 @@ int mmu_ci_restrictions;
@@ -4466,7 +4466,7 @@ index 59d9712..296f823 100644
  
  /**
 diff --git a/arch/powerpc/platforms/pseries/lpar.c 
b/arch/powerpc/platforms/pseries/lpar.c
-index cf79b46..97dc2e1 100644
+index 568b503..443da36 100644
 --- a/arch/powerpc/platforms/pseries/lpar.c
 +++ b/arch/powerpc/platforms/pseries/lpar.c
 @@ -335,7 +335,7 @@ static long pSeries_lpar_hpte_insert(unsigned long 
hpte_group,
@@ -5170,10 +5170,10 @@ index 98abf8b..7cb0a86 100644
  struct ht_irq_cfg {
        struct pci_dev *dev;
 diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
-index 24110f6..e0e0c0c 100644
+index c9e86de..1fb5120 100644
 --- a/drivers/serial/8250.c
 +++ b/drivers/serial/8250.c
-@@ -3067,6 +3067,51 @@ static int serial8250_resume(struct platform_device 
*dev)
+@@ -3068,6 +3068,51 @@ static int serial8250_resume(struct platform_device 
*dev)
        return 0;
  }
  
@@ -5271,10 +5271,10 @@ index c4399e2..1ddd2cd 100644
  
  static struct of_platform_driver mpc52xx_uart_of_driver = {
 diff --git a/fs/exec.c b/fs/exec.c
-index 6d2b6f9..22c7040 100644
+index bda2d50..54e7737 100644
 --- a/fs/exec.c
 +++ b/fs/exec.c
-@@ -734,6 +734,7 @@ static int exec_mmap(struct mm_struct *mm)
+@@ -764,6 +764,7 @@ static int exec_mmap(struct mm_struct *mm)
  {
        struct task_struct *tsk;
        struct mm_struct * old_mm, *active_mm;
@@ -5282,7 +5282,7 @@ index 6d2b6f9..22c7040 100644
  
        /* Notify parent that we're no longer interested in the old VM */
        tsk = current;
-@@ -757,8 +758,10 @@ static int exec_mmap(struct mm_struct *mm)
+@@ -787,8 +788,10 @@ static int exec_mmap(struct mm_struct *mm)
        task_lock(tsk);
        active_mm = tsk->active_mm;
        tsk->mm = mm;
@@ -7015,7 +7015,7 @@ index 9c9f049..62c8941 100644
  static inline void __raw_read_lock(rwlock_t *lock)
  {
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 1e2a6db..de2bc3c 100644
+index c821609..7b6597f 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
 @@ -61,6 +61,7 @@ struct sched_param {
@@ -7431,10 +7431,10 @@ index 0b72d1a..0cf11f6 100644
  obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o
  obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o
 diff --git a/kernel/exit.c b/kernel/exit.c
-index 0312022..26426b2 100644
+index abc46d9..4d06963 100644
 --- a/kernel/exit.c
 +++ b/kernel/exit.c
-@@ -969,6 +969,7 @@ NORET_TYPE void do_exit(long code)
+@@ -986,6 +986,7 @@ NORET_TYPE void do_exit(long code)
                acct_process();
        trace_sched_process_exit(tsk);
  
@@ -7443,10 +7443,10 @@ index 0312022..26426b2 100644
        exit_files(tsk);
        exit_fs(tsk);
 diff --git a/kernel/fork.c b/kernel/fork.c
-index c445f8c..1e26b45 100644
+index a576b98..b9927d0 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -540,6 +540,7 @@ void mmput(struct mm_struct *mm)
+@@ -541,6 +541,7 @@ void mmput(struct mm_struct *mm)
                exit_aio(mm);
                ksm_exit(mm);
                exit_mmap(mm);
@@ -7454,7 +7454,7 @@ index c445f8c..1e26b45 100644
                set_mm_exe_file(mm, NULL);
                if (!list_empty(&mm->mmlist)) {
                        spin_lock(&mmlist_lock);
-@@ -915,6 +916,7 @@ static void copy_flags(unsigned long clone_flags, struct 
task_struct *p)
+@@ -916,6 +917,7 @@ static void copy_flags(unsigned long clone_flags, struct 
task_struct *p)
        new_flags |= PF_FORKNOEXEC;
        new_flags |= PF_STARTING;
        p->flags = new_flags;
@@ -7462,7 +7462,7 @@ index c445f8c..1e26b45 100644
        clear_freeze_flag(p);
  }
  
-@@ -1287,6 +1289,10 @@ static struct task_struct *copy_process(unsigned long 
clone_flags,
+@@ -1288,6 +1290,10 @@ static struct task_struct *copy_process(unsigned long 
clone_flags,
        write_unlock_irq(&tasklist_lock);
        proc_fork_connector(p);
        cgroup_post_fork(p);
@@ -7473,7 +7473,7 @@ index c445f8c..1e26b45 100644
        perf_event_fork(p);
        return p;
  
-@@ -1689,11 +1695,14 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+@@ -1690,11 +1696,14 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
                }
  
                if (new_mm) {
@@ -7630,7 +7630,7 @@ index 0000000..6257dfa
 +obj-$(CONFIG_IPIPE_TRACE) += tracer.o
 diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c
 new file mode 100644
-index 0000000..5a06d52
+index 0000000..cb07dfe
 --- /dev/null
 +++ b/kernel/ipipe/core.c
 @@ -0,0 +1,2194 @@
@@ -8913,14 +8913,14 @@ index 0000000..5a06d52
 +                      irq_enter();
 +                      ipd->irqs[irq].handler(irq, ipd->irqs[irq].cookie);
 +                      irq_exit();
-+                      local_irq_disable_hw();
 +                      root_stall_after_handler();
++                      local_irq_disable_hw();
 +                      while (__ipipe_check_root_resched())
 +                              __ipipe_preempt_schedule_irq();
 +              } else {
 +                      __ipipe_do_root_xirq(ipd, irq);
-+                      local_irq_disable_hw();
 +                      root_stall_after_handler();
++                      local_irq_disable_hw();
 +              }
 +
 +              p = ipipe_cpudom_ptr(__ipipe_current_domain);
@@ -11566,7 +11566,7 @@ index 4c13b1a..93a1543 100644
        do_oops_enter_exit();
  }
 diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
-index 8dc31e0..722bab4 100644
+index 7a931a9..d86e8aa 100644
 --- a/kernel/power/hibernate.c
 +++ b/kernel/power/hibernate.c
 @@ -269,6 +269,7 @@ static int create_image(int platform_mode)
@@ -11585,7 +11585,7 @@ index 8dc31e0..722bab4 100644
        local_irq_enable();
  
   Enable_cpus:
-@@ -395,6 +397,7 @@ static int resume_target_kernel(bool platform_mode)
+@@ -400,6 +402,7 @@ static int resume_target_kernel(bool platform_mode)
                goto Enable_cpus;
  
        local_irq_disable();
@@ -11593,7 +11593,7 @@ index 8dc31e0..722bab4 100644
  
        error = sysdev_suspend(PMSG_QUIESCE);
        if (error)
-@@ -426,6 +429,7 @@ static int resume_target_kernel(bool platform_mode)
+@@ -431,6 +434,7 @@ static int resume_target_kernel(bool platform_mode)
        sysdev_resume();
  
   Enable_irqs:
@@ -11601,7 +11601,7 @@ index 8dc31e0..722bab4 100644
        local_irq_enable();
  
   Enable_cpus:
-@@ -512,6 +516,7 @@ int hibernation_platform_enter(void)
+@@ -514,6 +518,7 @@ int hibernation_platform_enter(void)
                goto Platform_finish;
  
        local_irq_disable();
@@ -11610,7 +11610,7 @@ index 8dc31e0..722bab4 100644
        if (!pm_check_wakeup_events()) {
                error = -EAGAIN;
 diff --git a/kernel/printk.c b/kernel/printk.c
-index 8fe465a..8a2c17b 100644
+index 44a2aa7..b29781a 100644
 --- a/kernel/printk.c
 +++ b/kernel/printk.c
 @@ -578,6 +578,41 @@ static int have_callable_console(void)
@@ -11730,10 +11730,10 @@ index 8fe465a..8a2c17b 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 dc85ceb..e6a3fa3 100644
+index 92c5b60..2d4cae7 100644
 --- a/kernel/sched.c
 +++ b/kernel/sched.c
-@@ -2356,7 +2356,8 @@ static int try_to_wake_up(struct task_struct *p, 
unsigned int state,
+@@ -2349,7 +2349,8 @@ static int try_to_wake_up(struct task_struct *p, 
unsigned int state,
  
        smp_wmb();
        rq = task_rq_lock(p, &flags);
@@ -11743,7 +11743,7 @@ index dc85ceb..e6a3fa3 100644
                goto out;
  
        if (p->se.on_rq)
-@@ -2829,13 +2830,15 @@ asmlinkage void schedule_tail(struct task_struct *prev)
+@@ -2822,13 +2823,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);
@@ -11760,7 +11760,7 @@ index dc85ceb..e6a3fa3 100644
  context_switch(struct rq *rq, struct task_struct *prev,
               struct task_struct *next)
  {
-@@ -2877,12 +2880,23 @@ context_switch(struct rq *rq, struct task_struct *prev,
+@@ -2870,12 +2873,23 @@ context_switch(struct rq *rq, struct task_struct *prev,
        switch_to(prev, next, prev);
  
        barrier();
@@ -11784,7 +11784,7 @@ index dc85ceb..e6a3fa3 100644
  }
  
  /*
-@@ -3607,6 +3621,7 @@ notrace unsigned long get_parent_ip(unsigned long addr)
+@@ -3728,6 +3742,7 @@ notrace unsigned long get_parent_ip(unsigned long addr)
  
  void __kprobes add_preempt_count(int val)
  {
@@ -11792,7 +11792,7 @@ index dc85ceb..e6a3fa3 100644
  #ifdef CONFIG_DEBUG_PREEMPT
        /*
         * Underflow?
-@@ -3629,6 +3644,7 @@ EXPORT_SYMBOL(add_preempt_count);
+@@ -3750,6 +3765,7 @@ EXPORT_SYMBOL(add_preempt_count);
  
  void __kprobes sub_preempt_count(int val)
  {
@@ -11800,7 +11800,7 @@ index dc85ceb..e6a3fa3 100644
  #ifdef CONFIG_DEBUG_PREEMPT
        /*
         * Underflow?
-@@ -3677,6 +3693,7 @@ static noinline void __schedule_bug(struct task_struct 
*prev)
+@@ -3798,6 +3814,7 @@ static noinline void __schedule_bug(struct task_struct 
*prev)
   */
  static inline void schedule_debug(struct task_struct *prev)
  {
@@ -11808,7 +11808,7 @@ index dc85ceb..e6a3fa3 100644
        /*
         * Test if we are atomic. Since do_exit() needs to call into
         * schedule() atomically, we ignore that path for now.
-@@ -3739,7 +3756,7 @@ pick_next_task(struct rq *rq)
+@@ -3859,7 +3876,7 @@ pick_next_task(struct rq *rq)
  /*
   * schedule() is the main scheduler function.
   */
@@ -11817,7 +11817,7 @@ index dc85ceb..e6a3fa3 100644
  {
        struct task_struct *prev, *next;
        unsigned long *switch_count;
-@@ -3753,6 +3770,10 @@ need_resched:
+@@ -3873,6 +3890,10 @@ need_resched:
        rcu_note_context_switch(cpu);
        prev = rq->curr;
  
@@ -11828,7 +11828,7 @@ index dc85ceb..e6a3fa3 100644
        release_kernel_lock(prev);
  need_resched_nonpreemptible:
  
-@@ -3803,7 +3824,8 @@ need_resched_nonpreemptible:
+@@ -3924,7 +3945,8 @@ need_resched_nonpreemptible:
                rq->curr = next;
                ++*switch_count;
  
@@ -11838,7 +11838,7 @@ index dc85ceb..e6a3fa3 100644
                /*
                 * The context switch have flipped the stack from under us
                 * and restored the local variables which were saved when
-@@ -3812,8 +3834,10 @@ need_resched_nonpreemptible:
+@@ -3933,8 +3955,10 @@ need_resched_nonpreemptible:
                 */
                cpu = smp_processor_id();
                rq = cpu_rq(cpu);
@@ -11850,7 +11850,7 @@ index dc85ceb..e6a3fa3 100644
  
        post_schedule(rq);
  
-@@ -3823,6 +3847,8 @@ need_resched_nonpreemptible:
+@@ -3944,6 +3968,8 @@ need_resched_nonpreemptible:
        preempt_enable_no_resched();
        if (need_resched())
                goto need_resched;
@@ -11859,7 +11859,7 @@ index dc85ceb..e6a3fa3 100644
  }
  EXPORT_SYMBOL(schedule);
  
-@@ -3914,7 +3940,8 @@ asmlinkage void __sched notrace preempt_schedule(void)
+@@ -4035,7 +4061,8 @@ asmlinkage void __sched notrace preempt_schedule(void)
  
        do {
                add_preempt_count_notrace(PREEMPT_ACTIVE);
@@ -11869,7 +11869,7 @@ index dc85ceb..e6a3fa3 100644
                sub_preempt_count_notrace(PREEMPT_ACTIVE);
  
                /*
-@@ -4695,6 +4722,7 @@ recheck:
+@@ -4816,6 +4843,7 @@ recheck:
        oldprio = p->prio;
        prev_class = p->sched_class;
        __setscheduler(rq, p, policy, param->sched_priority);
@@ -11877,7 +11877,7 @@ index dc85ceb..e6a3fa3 100644
  
        if (running)
                p->sched_class->set_curr_task(rq);
-@@ -5351,6 +5379,7 @@ void __cpuinit init_idle(struct task_struct *idle, int 
cpu)
+@@ -5484,6 +5512,7 @@ void __cpuinit init_idle(struct task_struct *idle, int 
cpu)
  #else
        task_thread_info(idle)->preempt_count = 0;
  #endif
@@ -11885,7 +11885,7 @@ index dc85ceb..e6a3fa3 100644
        /*
         * The idle tasks have their own, simple scheduling class:
         */
-@@ -9188,3 +9217,64 @@ void synchronize_sched_expedited(void)
+@@ -9321,3 +9350,64 @@ void synchronize_sched_expedited(void)
  EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
  
  #endif /* #else #ifndef CONFIG_SMP */
@@ -12024,10 +12024,10 @@ index 3e216e0..9434a56 100644
        }
  
 diff --git a/kernel/timer.c b/kernel/timer.c
-index 97bf05b..3241147 100644
+index 102ad37..82792fb 100644
 --- a/kernel/timer.c
 +++ b/kernel/timer.c
-@@ -1284,6 +1284,25 @@ void update_process_times(int user_tick)
+@@ -1290,6 +1290,25 @@ void update_process_times(int user_tick)
        run_posix_cpu_timers(p);
  }
  
@@ -12477,7 +12477,7 @@ index 9e82e93..a4bd34d 100644
  
        if (active_mm != mm)
 diff --git a/mm/vmalloc.c b/mm/vmalloc.c
-index 6b8889d..efc3105 100644
+index d8087f0..6098862 100644
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
 @@ -173,6 +173,8 @@ static int vmap_page_range_noflush(unsigned long start, 
unsigned long end,


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

Reply via email to