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

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sun Oct  4 13:21:09 2009 +0200

x86: upgrade I-pipe support to 2.6.30.8-x86-2.4-06, 2.6.31.1-x86-2.4-06

---

 ...patch => adeos-ipipe-2.6.30.8-x86-2.4-06.patch} |   86 +++++++++++++-------
 ...patch => adeos-ipipe-2.6.31.1-x86-2.4-06.patch} |   60 ++++++++------
 2 files changed, 93 insertions(+), 53 deletions(-)

diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.8-x86-2.4-06.patch
similarity index 99%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.30.8-x86-2.4-06.patch
index 5657458..b2ab1d8 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.5-x86-2.4-05.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.30.8-x86-2.4-06.patch
@@ -125,7 +125,7 @@ index c2e6bed..7405507 100644
  
  BUILD_INTERRUPT(generic_interrupt, GENERIC_INTERRUPT_VECTOR)
 diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
-index b762ea4..c31b386 100644
+index b762ea4..159613e 100644
 --- a/arch/x86/include/asm/hw_irq.h
 +++ b/arch/x86/include/asm/hw_irq.h
 @@ -32,6 +32,13 @@ extern void error_interrupt(void);
@@ -150,6 +150,14 @@ index b762ea4..c31b386 100644
  #ifdef CONFIG_SMP
  extern void smp_reschedule_interrupt(struct pt_regs *);
  extern void smp_call_function_interrupt(struct pt_regs *);
+@@ -88,6 +96,7 @@ extern void smp_invalidate_interrupt(struct pt_regs *);
+ #else
+ extern asmlinkage void smp_invalidate_interrupt(struct pt_regs *);
+ #endif
++extern asmlinkage void smp_irq_move_cleanup_interrupt(void);
+ #endif
+ 
+ extern void (*__initconst interrupt[NR_VECTORS-FIRST_EXTERNAL_VECTOR])(void);
 diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
 index 71c9e51..aab5873 100644
 --- a/arch/x86/include/asm/i387.h
@@ -207,7 +215,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..56ca2bd
+index 0000000..017417c
 --- /dev/null
 +++ b/arch/x86/include/asm/ipipe.h
 @@ -0,0 +1,156 @@
@@ -238,10 +246,10 @@ index 0000000..56ca2bd
 +#ifdef CONFIG_IPIPE
 +
 +#ifndef IPIPE_ARCH_STRING
-+#define IPIPE_ARCH_STRING     "2.4-05"
++#define IPIPE_ARCH_STRING     "2.4-06"
 +#define IPIPE_MAJOR_NUMBER    2
 +#define IPIPE_MINOR_NUMBER    4
-+#define IPIPE_PATCH_NUMBER    5
++#define IPIPE_PATCH_NUMBER    6
 +#endif
 +
 +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs);
@@ -1337,10 +1345,10 @@ index c45a0a5..f326e5b 100644
  
  extern atomic_t nmi_active;
 diff --git a/arch/x86/include/asm/processor.h 
b/arch/x86/include/asm/processor.h
-index c2cceae..90fe438 100644
+index 68e7172..491404c 100644
 --- a/arch/x86/include/asm/processor.h
 +++ b/arch/x86/include/asm/processor.h
-@@ -426,6 +426,7 @@ struct thread_struct {
+@@ -436,6 +436,7 @@ struct thread_struct {
        unsigned short          ds;
        unsigned short          fsindex;
        unsigned short          gsindex;
@@ -1349,7 +1357,7 @@ index c2cceae..90fe438 100644
        unsigned long           ip;
        unsigned long           fs;
 diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h
-index 643c59b..eb5b882 100644
+index 5bd119b..9c1be69 100644
 --- a/arch/x86/include/asm/system.h
 +++ b/arch/x86/include/asm/system.h
 @@ -126,8 +126,10 @@ do {                                                      
                \
@@ -1808,7 +1816,7 @@ index edfc25c..cf587ff 100644
   * This function currently is only a helper for the i386 smp boot process 
where
   * we need to reprogram the ioredtbls to cater for the cpus which have come 
online
 diff --git a/arch/x86/kernel/apic/ipi.c b/arch/x86/kernel/apic/ipi.c
-index dbf5445..ce36fb1 100644
+index 6ef00ba..22ad255 100644
 --- a/arch/x86/kernel/apic/ipi.c
 +++ b/arch/x86/kernel/apic/ipi.c
 @@ -29,12 +29,12 @@ void default_send_IPI_mask_sequence_phys(const struct 
cpumask *mask, int vector)
@@ -1876,9 +1884,9 @@ index dbf5445..ce36fb1 100644
  }
  
  #ifdef CONFIG_X86_32
-@@ -106,10 +106,10 @@ void default_send_IPI_mask_logical(const struct cpumask 
*cpumask, int vector)
-       unsigned long mask = cpumask_bits(cpumask)[0];
-       unsigned long flags;
+@@ -109,10 +109,10 @@ void default_send_IPI_mask_logical(const struct cpumask 
*cpumask, int vector)
+       if (WARN_ONCE(!mask, "empty IPI mask"))
+               return;
  
 -      local_irq_save(flags);
 +      local_irq_save_hw(flags);
@@ -3131,10 +3139,10 @@ index df89102..cfb29a2 100644
  handle_real_irq:
 diff --git a/arch/x86/kernel/ipipe.c b/arch/x86/kernel/ipipe.c
 new file mode 100644
-index 0000000..9b9d084
+index 0000000..dcf9764
 --- /dev/null
 +++ b/arch/x86/kernel/ipipe.c
-@@ -0,0 +1,957 @@
+@@ -0,0 +1,964 @@
 +/*   -*- linux-c -*-
 + *   linux/arch/x86/kernel/ipipe.c
 + *
@@ -3410,6 +3418,13 @@ index 0000000..9b9d084
 +                           NULL,
 +                           &__ipipe_ack_apic,
 +                           IPIPE_STDROOT_MASK);
++
++      ipipe_virtualize_irq(ipipe_root_domain,
++                           ipipe_apic_vector_irq(IRQ_MOVE_CLEANUP_VECTOR),
++                           
(ipipe_irq_handler_t)&smp_irq_move_cleanup_interrupt,
++                           NULL,
++                           &__ipipe_ack_apic,
++                           IPIPE_STDROOT_MASK);
 +#else
 +      (void)vector;
 +#endif        /* CONFIG_SMP */
@@ -4647,7 +4662,7 @@ index a03b727..6d8facc 100644
 +}
 +#endif /* CONFIG_IPIPE */
 diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
-index 821e970..9294287 100644
+index c814e14..40feb73 100644
 --- a/arch/x86/mm/tlb.c
 +++ b/arch/x86/mm/tlb.c
 @@ -57,10 +57,14 @@ static union smp_flush_state 
flush_state[NUM_INVALIDATE_TLB_VECTORS];
@@ -4665,16 +4680,16 @@ index 821e970..9294287 100644
  }
  EXPORT_SYMBOL_GPL(leave_mm);
  
-@@ -193,6 +197,9 @@ static void flush_tlb_others_ipi(const struct cpumask 
*cpumask,
-       apic->send_IPI_mask(to_cpumask(f->flush_cpumask),
-                     INVALIDATE_TLB_VECTOR_START + sender);
+@@ -191,6 +195,9 @@ static void flush_tlb_others_ipi(const struct cpumask 
*cpumask,
+               apic->send_IPI_mask(to_cpumask(f->flush_cpumask),
+                             INVALIDATE_TLB_VECTOR_START + sender);
  
 +#ifdef CONFIG_IPIPE
-+      WARN_ON_ONCE(irqs_disabled_hw()); 
++              WARN_ON_ONCE(irqs_disabled_hw()); 
 +#endif
-       while (!cpumask_empty(to_cpumask(f->flush_cpumask)))
-               cpu_relax();
- 
+               while (!cpumask_empty(to_cpumask(f->flush_cpumask)))
+                       cpu_relax();
+       }
 diff --git a/drivers/pci/htirq.c b/drivers/pci/htirq.c
 index 6808d83..4166013 100644
 --- a/drivers/pci/htirq.c
@@ -4767,7 +4782,7 @@ index 76da125..21d717c 100644
  
        mmdrop(active_mm);
 diff --git a/fs/exec.c b/fs/exec.c
-index 895823d..ec10cab 100644
+index 42414e5..4d1fc09 100644
 --- a/fs/exec.c
 +++ b/fs/exec.c
 @@ -698,6 +698,7 @@ static int exec_mmap(struct mm_struct *mm)
@@ -6511,7 +6526,7 @@ index 7be4d38..01db31a 100644
          Append an extra string to the end of your kernel version.
          This will show up when you type uname, for example.
 diff --git a/init/main.c b/init/main.c
-index d721dad..6b492a7 100644
+index 303903c..a1c5265 100644
 --- a/init/main.c
 +++ b/init/main.c
 @@ -554,7 +554,7 @@ asmlinkage void __init start_kernel(void)
@@ -6535,7 +6550,7 @@ index d721dad..6b492a7 100644
        profile_init();
        if (!irqs_disabled())
                printk(KERN_CRIT "start_kernel(): bug: interrupts were "
-@@ -779,6 +784,7 @@ static void __init do_basic_setup(void)
+@@ -780,6 +785,7 @@ static void __init do_basic_setup(void)
        usermodehelper_init();
        driver_init();
        init_irq_proc();
@@ -6568,7 +6583,7 @@ index abf9cf3..887651d 100644
        exit_files(tsk);
        exit_fs(tsk);
 diff --git a/kernel/fork.c b/kernel/fork.c
-index 9c1f52d..5b2dd59 100644
+index f4be1ee..1ac44c0 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
 @@ -488,6 +488,7 @@ void mmput(struct mm_struct *mm)
@@ -6579,7 +6594,7 @@ index 9c1f52d..5b2dd59 100644
                set_mm_exe_file(mm, NULL);
                if (!list_empty(&mm->mmlist)) {
                        spin_lock(&mmlist_lock);
-@@ -892,7 +893,7 @@ static void copy_flags(unsigned long clone_flags, struct 
task_struct *p)
+@@ -879,7 +880,7 @@ static void copy_flags(unsigned long clone_flags, struct 
task_struct *p)
  {
        unsigned long new_flags = p->flags;
  
@@ -6588,7 +6603,7 @@ index 9c1f52d..5b2dd59 100644
        new_flags |= PF_FORKNOEXEC;
        new_flags |= PF_STARTING;
        p->flags = new_flags;
-@@ -1266,6 +1267,9 @@ static struct task_struct *copy_process(unsigned long 
clone_flags,
+@@ -1255,6 +1256,9 @@ static struct task_struct *copy_process(unsigned long 
clone_flags,
        write_unlock_irq(&tasklist_lock);
        proc_fork_connector(p);
        cgroup_post_fork(p);
@@ -6598,7 +6613,7 @@ index 9c1f52d..5b2dd59 100644
        return p;
  
  bad_fork_free_graph:
-@@ -1666,11 +1670,14 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+@@ -1656,11 +1660,14 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
                }
  
                if (new_mm) {
@@ -10706,7 +10721,7 @@ index 0d3d47f..dd38aac 100644
 +
 +#endif /* CONFIG_IPIPE */
 diff --git a/kernel/signal.c b/kernel/signal.c
-index d803473..d37655f 100644
+index 2dfc931..8640f4e 100644
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
 @@ -515,6 +515,7 @@ void signal_wake_up(struct task_struct *t, int resume)
@@ -11310,6 +11325,19 @@ index cbe9e05..b9d0ed0 100644
        current->mm->def_flags = def_flags;
        if (flags == MCL_FUTURE)
                goto out;
+diff --git a/mm/slub.c b/mm/slub.c
+index 0b95a6c..94b4041 100644
+--- a/mm/slub.c
++++ b/mm/slub.c
+@@ -2490,6 +2490,8 @@ static inline int kmem_cache_close(struct kmem_cache *s)
+  */
+ void kmem_cache_destroy(struct kmem_cache *s)
+ {
++      if (s->flags & SLAB_DESTROY_BY_RCU)
++              rcu_barrier();
+       down_write(&slub_lock);
+       s->refcount--;
+       if (!s->refcount) {
 diff --git a/mm/vmalloc.c b/mm/vmalloc.c
 index 083716e..ca13739 100644
 --- a/mm/vmalloc.c
diff --git a/ksrc/arch/x86/patches/adeos-ipipe-2.6.31-x86-2.4-05.patch 
b/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch
similarity index 99%
rename from ksrc/arch/x86/patches/adeos-ipipe-2.6.31-x86-2.4-05.patch
rename to ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch
index 99c0500..9cdbf4d 100644
--- a/ksrc/arch/x86/patches/adeos-ipipe-2.6.31-x86-2.4-05.patch
+++ b/ksrc/arch/x86/patches/adeos-ipipe-2.6.31.1-x86-2.4-06.patch
@@ -86,7 +86,7 @@ index ff8cbfa..a184250 100644
  
  BUILD_INTERRUPT(generic_interrupt, GENERIC_INTERRUPT_VECTOR)
 diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
-index ba180d9..d523a86 100644
+index ba180d9..6a7c6bc 100644
 --- a/arch/x86/include/asm/hw_irq.h
 +++ b/arch/x86/include/asm/hw_irq.h
 @@ -35,6 +35,13 @@ extern void spurious_interrupt(void);
@@ -103,6 +103,14 @@ index ba180d9..d523a86 100644
  
  extern void invalidate_interrupt(void);
  extern void invalidate_interrupt0(void);
+@@ -115,6 +122,7 @@ extern void smp_invalidate_interrupt(struct pt_regs *);
+ #else
+ extern asmlinkage void smp_invalidate_interrupt(struct pt_regs *);
+ #endif
++extern asmlinkage void smp_reboot_interrupt(void);
+ #endif
+ 
+ extern void (*__initconst interrupt[NR_VECTORS-FIRST_EXTERNAL_VECTOR])(void);
 diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
 index 175adf5..21ec8b8 100644
 --- a/arch/x86/include/asm/i387.h
@@ -160,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..56ca2bd
+index 0000000..017417c
 --- /dev/null
 +++ b/arch/x86/include/asm/ipipe.h
 @@ -0,0 +1,156 @@
@@ -191,10 +199,10 @@ index 0000000..56ca2bd
 +#ifdef CONFIG_IPIPE
 +
 +#ifndef IPIPE_ARCH_STRING
-+#define IPIPE_ARCH_STRING     "2.4-05"
++#define IPIPE_ARCH_STRING     "2.4-06"
 +#define IPIPE_MAJOR_NUMBER    2
 +#define IPIPE_MINOR_NUMBER    4
-+#define IPIPE_PATCH_NUMBER    5
++#define IPIPE_PATCH_NUMBER    6
 +#endif
 +
 +DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs);
@@ -1151,10 +1159,10 @@ index c86e5ed..2b320ec 100644
  
  extern atomic_t nmi_active;
 diff --git a/arch/x86/include/asm/processor.h 
b/arch/x86/include/asm/processor.h
-index c776826..528a2ba 100644
+index e597ecc..8e961de 100644
 --- a/arch/x86/include/asm/processor.h
 +++ b/arch/x86/include/asm/processor.h
-@@ -424,6 +424,7 @@ struct thread_struct {
+@@ -434,6 +434,7 @@ struct thread_struct {
        unsigned short          ds;
        unsigned short          fsindex;
        unsigned short          gsindex;
@@ -1163,7 +1171,7 @@ index c776826..528a2ba 100644
  #ifdef CONFIG_X86_32
        unsigned long           ip;
 diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h
-index 643c59b..eb5b882 100644
+index 5bd119b..9c1be69 100644
 --- a/arch/x86/include/asm/system.h
 +++ b/arch/x86/include/asm/system.h
 @@ -126,8 +126,10 @@ do {                                                      
                \
@@ -1358,7 +1366,7 @@ index d0c99ab..6caa066 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 d2ed6c5..2390d51 100644
+index d2ed6c5..3c71e3b 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
 @@ -73,8 +73,12 @@
@@ -1406,20 +1414,24 @@ index d2ed6c5..2390d51 100644
        spin_unlock_irqrestore(&ioapic_lock, flags);
  
        return was_pending;
-@@ -2501,26 +2513,59 @@ static void irq_complete_move(struct irq_desc **descp)
+@@ -2501,26 +2513,63 @@ static void irq_complete_move(struct irq_desc **descp)
  static inline void irq_complete_move(struct irq_desc **descp) {}
  #endif
  
 -static void ack_apic_edge(unsigned int irq)
 +#if defined(CONFIG_IPIPE) && defined(CONFIG_SMP)
 +
++#ifdef CONFIG_INTR_REMAP
 +static void eoi_ioapic_irq(struct irq_desc *desc);
++#else /* !CONFIG_INTR_REMAP */
++static inline void eoi_ioapic_irq(struct irq_desc *desc) {}
++#endif /* !CONFIG_INTR_REMAP */
 +
 +static void move_apic_irq(unsigned int irq)
  {
        struct irq_desc *desc = irq_to_desc(irq);
 +      struct irq_cfg *cfg;
- 
++
 +      if (desc->handle_irq == &handle_edge_irq) {
 +              spin_lock(&desc->lock);
 +              irq_complete_move(&desc);
@@ -1441,7 +1453,7 @@ index d2ed6c5..2390d51 100644
 +              WARN_ON_ONCE(1);
 +}
 +#endif /* CONFIG_IPIPE && CONFIG_SMP */
-+
+ 
 +static void ack_apic_edge(unsigned int irq)
 +{
 +#ifndef CONFIG_IPIPE
@@ -1470,7 +1482,7 @@ index d2ed6c5..2390d51 100644
        int do_unmask_irq = 0;
  
        irq_complete_move(&desc);
-@@ -2597,7 +2642,6 @@ static void ack_apic_level(unsigned int irq)
+@@ -2597,7 +2646,6 @@ static void ack_apic_level(unsigned int irq)
                        move_masked_irq(irq);
                unmask_IO_APIC_irq_desc(desc);
        }
@@ -1478,7 +1490,7 @@ index d2ed6c5..2390d51 100644
  #ifdef CONFIG_X86_32
        if (!(v & (1 << (i & 0x1f)))) {
                atomic_inc(&irq_mis_count);
-@@ -2607,6 +2651,31 @@ static void ack_apic_level(unsigned int irq)
+@@ -2607,6 +2655,31 @@ static void ack_apic_level(unsigned int irq)
                spin_unlock(&ioapic_lock);
        }
  #endif
@@ -1510,7 +1522,7 @@ index d2ed6c5..2390d51 100644
  }
  
  #ifdef CONFIG_INTR_REMAP
-@@ -2666,6 +2735,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
+@@ -2666,6 +2739,9 @@ static struct irq_chip ioapic_chip __read_mostly = {
        .eoi            = ack_apic_level,
  #ifdef CONFIG_SMP
        .set_affinity   = set_ioapic_affinity_irq,
@@ -1520,7 +1532,7 @@ index d2ed6c5..2390d51 100644
  #endif
        .retrigger      = ioapic_retrigger_irq,
  };
-@@ -2725,23 +2797,29 @@ static inline void init_IO_APIC_traps(void)
+@@ -2725,23 +2801,29 @@ static inline void init_IO_APIC_traps(void)
  
  static void mask_lapic_irq(unsigned int irq)
  {
@@ -1553,7 +1565,7 @@ index d2ed6c5..2390d51 100644
  }
  
  static struct irq_chip lapic_chip __read_mostly = {
-@@ -2749,6 +2827,9 @@ static struct irq_chip lapic_chip __read_mostly = {
+@@ -2749,6 +2831,9 @@ static struct irq_chip lapic_chip __read_mostly = {
        .mask           = mask_lapic_irq,
        .unmask         = unmask_lapic_irq,
        .ack            = ack_lapic_irq,
@@ -1563,7 +1575,7 @@ index d2ed6c5..2390d51 100644
  };
  
  static void lapic_register_intr(int irq, struct irq_desc *desc)
-@@ -2996,6 +3077,10 @@ static inline void __init check_timer(void)
+@@ -2996,6 +3081,10 @@ static inline void __init check_timer(void)
                    "...trying to set up timer as Virtual Wire IRQ...\n");
  
        lapic_register_intr(0, desc);
@@ -1574,7 +1586,7 @@ index d2ed6c5..2390d51 100644
        apic_write(APIC_LVT0, APIC_DM_FIXED | cfg->vector);     /* Fixed mode */
        enable_8259A_irq(0);
  
-@@ -3404,6 +3489,9 @@ static struct irq_chip msi_chip = {
+@@ -3404,6 +3493,9 @@ static struct irq_chip msi_chip = {
        .ack            = ack_apic_edge,
  #ifdef CONFIG_SMP
        .set_affinity   = set_msi_irq_affinity,
@@ -1584,7 +1596,7 @@ index d2ed6c5..2390d51 100644
  #endif
        .retrigger      = ioapic_retrigger_irq,
  };
-@@ -3577,6 +3665,9 @@ static struct irq_chip dmar_msi_type = {
+@@ -3577,6 +3669,9 @@ static struct irq_chip dmar_msi_type = {
        .ack = ack_apic_edge,
  #ifdef CONFIG_SMP
        .set_affinity = dmar_msi_set_affinity,
@@ -1594,7 +1606,7 @@ index d2ed6c5..2390d51 100644
  #endif
        .retrigger = ioapic_retrigger_irq,
  };
-@@ -3704,6 +3795,9 @@ static struct irq_chip ht_irq_chip = {
+@@ -3704,6 +3799,9 @@ static struct irq_chip ht_irq_chip = {
        .ack            = ack_apic_edge,
  #ifdef CONFIG_SMP
        .set_affinity   = set_ht_irq_affinity,
@@ -1604,7 +1616,7 @@ index d2ed6c5..2390d51 100644
  #endif
        .retrigger      = ioapic_retrigger_irq,
  };
-@@ -4056,6 +4150,14 @@ int acpi_get_override_irq(int bus_irq, int *trigger, 
int *polarity)
+@@ -4056,6 +4154,14 @@ int acpi_get_override_irq(int bus_irq, int *trigger, 
int *polarity)
  
  #endif /* CONFIG_ACPI */
  
@@ -2947,7 +2959,7 @@ index df89102..cfb29a2 100644
  handle_real_irq:
 diff --git a/arch/x86/kernel/ipipe.c b/arch/x86/kernel/ipipe.c
 new file mode 100644
-index 0000000..af902c6
+index 0000000..d4789c8
 --- /dev/null
 +++ b/arch/x86/kernel/ipipe.c
 @@ -0,0 +1,985 @@
@@ -3243,14 +3255,14 @@ index 0000000..af902c6
 +
 +      ipipe_virtualize_irq(ipipe_root_domain,
 +                           ipipe_apic_vector_irq(IRQ_MOVE_CLEANUP_VECTOR),
-+                           (ipipe_irq_handler_t)&irq_move_cleanup_interrupt,
++                           
(ipipe_irq_handler_t)&smp_irq_move_cleanup_interrupt,
 +                           NULL,
 +                           &__ipipe_ack_apic,
 +                           IPIPE_STDROOT_MASK);
 +
 +      ipipe_virtualize_irq(ipipe_root_domain,
 +                           ipipe_apic_vector_irq(REBOOT_VECTOR),
-+                           (ipipe_irq_handler_t)&reboot_interrupt,
++                           (ipipe_irq_handler_t)&smp_reboot_interrupt,
 +                           NULL,
 +                           &__ipipe_ack_apic,
 +                           IPIPE_STDROOT_MASK);


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

Reply via email to