sparc32,leon: Implemented SMP IPIs for LEON CPU
This patch implements SMP IPIs on LEON using software generated IRQs to signal between CPUs. The IPI IRQ number is set by using the ipi_num property in the device tree, or defaults to 13. LEON SMP systems should reserve IRQ 13 (and IRQ 15) to Linux in order for the defaults to work. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d6d048192b
commit
1ca0c808c6
@ -215,7 +215,7 @@ static inline int sparc_leon3_cpuid(void)
|
||||
#endif /*!__ASSEMBLY__*/
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
# define LEON3_IRQ_RESCHEDULE 13
|
||||
# define LEON3_IRQ_IPI_DEFAULT 13
|
||||
# define LEON3_IRQ_TICKER (leon3_ticker_irq)
|
||||
# define LEON3_IRQ_CROSS_CALL 15
|
||||
#endif
|
||||
@ -351,9 +351,11 @@ void leon_enable_irq_cpu(unsigned int irq_nr, unsigned int cpu);
|
||||
extern irqreturn_t leon_percpu_timer_interrupt(int irq, void *unused);
|
||||
|
||||
extern unsigned int real_irq_entry[];
|
||||
extern unsigned int smpleon_ipi[];
|
||||
extern unsigned int patchme_maybe_smp_msg[];
|
||||
extern unsigned int t_nmi[], linux_trap_ipi15_leon[];
|
||||
extern unsigned int linux_trap_ipi15_sun4m[];
|
||||
extern int leon_ipi_irq;
|
||||
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
|
Reference in New Issue
Block a user