Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb2746dd authored by Jesper Nilsson's avatar Jesper Nilsson Committed by Linus Torvalds
Browse files

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: default avatarJesper Nilsson <jesper.nilsson@axis.com>
Acked-by: default avatarMikael Starvik <starvik@axis.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9587997a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -57,6 +57,10 @@ menu "General setup"

source "fs/Kconfig.binfmt"

config GENERIC_HARDIRQS
	bool
	default y

config ETRAX_CMDLINE
	string "Kernel command line"
	default "root=/dev/mtdblock3"
+4 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
 *
 *	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)
 *
@@ -92,14 +92,16 @@ skip:
asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
{
	unsigned long sp;
	struct pt_regs *old_regs = set_irq_regs(regs);
	irq_enter();
	sp = rdsp();
	if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) {
		printk("do_IRQ: stack overflow: %lX\n", sp);
		show_stack(NULL, (unsigned long *)sp);
	}
	__do_IRQ(irq, regs);
	__do_IRQ(irq);
        irq_exit();
	set_irq_regs(old_regs);
}

void weird_irq(void)