cris build fixes: irq fixes
- New file include/asm-cris/irq_regs.h. - Change handling of registers for do_IRQ. - Add GENERIC_HARDIRQS to Kconfig. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com> Acked-by: Mikael Starvik <starvik@axis.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9587997a4a
commit
eb2746ddc3
@ -57,6 +57,10 @@ menu "General setup"
|
|||||||
|
|
||||||
source "fs/Kconfig.binfmt"
|
source "fs/Kconfig.binfmt"
|
||||||
|
|
||||||
|
config GENERIC_HARDIRQS
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config ETRAX_CMDLINE
|
config ETRAX_CMDLINE
|
||||||
string "Kernel command line"
|
string "Kernel command line"
|
||||||
default "root=/dev/mtdblock3"
|
default "root=/dev/mtdblock3"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* linux/arch/cris/kernel/irq.c
|
* linux/arch/cris/kernel/irq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2000,2001 Axis Communications AB
|
* Copyright (c) 2000,2007 Axis Communications AB
|
||||||
*
|
*
|
||||||
* Authors: Bjorn Wesen (bjornw@axis.com)
|
* Authors: Bjorn Wesen (bjornw@axis.com)
|
||||||
*
|
*
|
||||||
@ -92,14 +92,16 @@ skip:
|
|||||||
asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
|
asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
|
||||||
{
|
{
|
||||||
unsigned long sp;
|
unsigned long sp;
|
||||||
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||||
irq_enter();
|
irq_enter();
|
||||||
sp = rdsp();
|
sp = rdsp();
|
||||||
if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) {
|
if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) {
|
||||||
printk("do_IRQ: stack overflow: %lX\n", sp);
|
printk("do_IRQ: stack overflow: %lX\n", sp);
|
||||||
show_stack(NULL, (unsigned long *)sp);
|
show_stack(NULL, (unsigned long *)sp);
|
||||||
}
|
}
|
||||||
__do_IRQ(irq, regs);
|
__do_IRQ(irq);
|
||||||
irq_exit();
|
irq_exit();
|
||||||
|
set_irq_regs(old_regs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void weird_irq(void)
|
void weird_irq(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user