[POWERPC] Add IRQSTACKS support on ppc32
This makes it possible to use separate stacks for hard and soft IRQs on 32-bit powerpc as well as on 64-bit. The code for 32-bit is just the 32-bit analog of the 64-bit code. * Added allocation and initialization of the irq stacks. We limit the stacks to be in lowmem for ppc32. * Implemented ppc32 versions of call_do_softirq() and call_handle_irq() to switch the stack pointers * Reworked how we do stack overflow detection. We now keep around the limit of the stack in the thread_struct and compare against the limit to see if we've overflowed. We can now use this on ppc64 if desired. [ paulus@samba.org: Fixed bug on 6xx where we need to reload r9 with the thread_info pointer. ] Signed-off-by:Kumar Gala <galak@kernel.crashing.org> Signed-off-by:
Paul Mackerras <paulus@samba.org>
Showing
- arch/powerpc/Kconfig.debug 0 additions, 1 deletionarch/powerpc/Kconfig.debug
- arch/powerpc/kernel/asm-offsets.c 1 addition, 0 deletionsarch/powerpc/kernel/asm-offsets.c
- arch/powerpc/kernel/entry_32.S 3 additions, 2 deletionsarch/powerpc/kernel/entry_32.S
- arch/powerpc/kernel/irq.c 8 additions, 2 deletionsarch/powerpc/kernel/irq.c
- arch/powerpc/kernel/misc_32.S 25 additions, 0 deletionsarch/powerpc/kernel/misc_32.S
- arch/powerpc/kernel/process.c 2 additions, 0 deletionsarch/powerpc/kernel/process.c
- arch/powerpc/kernel/setup_32.c 21 additions, 0 deletionsarch/powerpc/kernel/setup_32.c
- include/asm-powerpc/processor.h 6 additions, 0 deletionsinclude/asm-powerpc/processor.h
Loading
Please register or sign in to comment