Merge branch 'smp' into misc
Russell King [Thu, 6 Jan 2011 22:31:35 +0000 (22:31 +0000)]
Conflicts:
arch/arm/kernel/entry-armv.S
arch/arm/mm/ioremap.c

17 files changed:
1  2 
arch/arm/Kconfig
arch/arm/include/asm/assembler.h
arch/arm/include/asm/entry-macro-multi.S
arch/arm/include/asm/mach/irq.h
arch/arm/kernel/Makefile
arch/arm/kernel/entry-armv.S
arch/arm/kernel/fiq.c
arch/arm/kernel/irq.c
arch/arm/kernel/traps.c
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/clock-sh7372.c
arch/arm/mach-vexpress/ct-ca9x4.c
arch/arm/mm/dma-mapping.c
arch/sh/Kconfig
arch/sh/kernel/cpu/sh4/clock-sh4-202.c
arch/sh/kernel/cpu/sh4a/clock-sh7724.c
drivers/Makefile

Simple merge
Simple merge
index 44f21d4,0000000..ec0bbf7
mode 100644,000000..100644
--- /dev/null
@@@ -1,44 -1,0 +1,44 @@@
 +/*
 + * Interrupt handling.  Preserves r7, r8, r9
 + */
 +      .macro  arch_irq_handler_default
 +      get_irqnr_preamble r5, lr
 +1:    get_irqnr_and_base r0, r6, r5, lr
 +      movne   r1, sp
 +      @
 +      @ routine called with r0 = irq number, r1 = struct pt_regs *
 +      @
 +      adrne   lr, BSYM(1b)
 +      bne     asm_do_IRQ
 +
 +#ifdef CONFIG_SMP
 +      /*
 +       * XXX
 +       *
 +       * this macro assumes that irqstat (r6) and base (r5) are
 +       * preserved from get_irqnr_and_base above
 +       */
 +      ALT_SMP(test_for_ipi r0, r6, r5, lr)
 +      ALT_UP_B(9997f)
-       movne   r0, sp
++      movne   r1, sp
 +      adrne   lr, BSYM(1b)
 +      bne     do_IPI
 +
 +#ifdef CONFIG_LOCAL_TIMERS
 +      test_for_ltirq r0, r6, r5, lr
 +      movne   r0, sp
 +      adrne   lr, BSYM(1b)
 +      bne     do_local_timer
 +#endif
 +#endif
 +9997:
 +      .endm
 +
 +      .macro  arch_irq_handler, symbol_name
 +      .align  5
 +      .global \symbol_name
 +\symbol_name:
 +      mov     r4, lr
 +      arch_irq_handler_default
 +      mov     pc, r4
 +      .endm
@@@ -17,13 -17,11 +17,13 @@@ struct seq_file
  /*
   * This is internal.  Do not use it.
   */
 -extern unsigned int arch_nr_irqs;
 -extern void (*init_arch_irq)(void);
  extern void init_FIQ(void);
- extern int show_fiq_list(struct seq_file *, void *);
+ extern int show_fiq_list(struct seq_file *, int);
  
 +#ifdef CONFIG_MULTI_IRQ_HANDLER
 +extern void (*handle_arch_irq)(struct pt_regs *);
 +#endif
 +
  /*
   * This is for easy migration, but should be changed in the source
   */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc arch/sh/Kconfig
Simple merge
Simple merge