linux/arch/sparc
Daniel Hellstrom ecbc42b70a sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines
Implement the three IPIs (resched, single and cpu-mask) generation
and interrupt handler catch. The sun4m has 15 soft-IRQs and three
of them is used with this patch, the three IPIs was previously
implemented with the cross-call IRQ15 which does not work with
locking routines such as spinlocks because IRQ15 is NMI, it may
cause deadlock.

The IRQ trap handler code assumes (in the same spritit as the old
it seems) that hard interrupts will be generated until handled
(level), when a IRQ happens the IRQ pending register is checked
for pending soft-IRQs. When both hard and soft IRQ happens at the
same time only soft-IRQs are handled.

The old code implemented a soft-IRQ traphandler at IRQ14 which
called smp_reschedule_irq which in turn called set_need_resched.
It seems to be an old relic and is replaced with the interrupt
traphander exit code RESTORE_ALL, it calls schedule() when
appropriate.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-16 13:07:44 -07:00
..
boot sparc32: added U-Boot build target: uImage 2011-03-16 18:19:04 -07:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
include/asm sparc32,leon: Implemented SMP IPIs for LEON CPU 2011-05-16 13:07:43 -07:00
kernel sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines 2011-05-16 13:07:44 -07:00
lib sparc32: removed unused code, implemented by generic code 2011-04-21 16:44:44 -07:00
math-emu Fix common misspellings 2011-03-31 11:26:23 -03:00
mm lib, arch: add filter argument to show_mem and fix private implementations 2011-03-24 17:49:37 -07:00
oprofile sparc: using HZ needs an include of linux/param.h 2009-10-05 00:46:08 -07:00
prom sparc32: remove tick14.c 2011-03-16 18:19:08 -07:00
Kconfig sparc32: implement SMP IPIs using the generic functions 2011-05-16 13:07:43 -07:00
Kconfig.debug sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
Makefile sparc32: added U-Boot build target: uImage 2011-03-16 18:19:04 -07:00