- 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 <[email protected]>
---
arch/cris/Kconfig | 4 ++++
linux-2.6.23-mod/include/asm-cris/irq_regs.h | 1 +
linux-2.6.23/arch/cris/kernel/irq.c | 6 ++++--
3 files changed, 9 insertions(+), 2 deletions(-)
--- /dev/null 2007-10-06 06:38:38.348072750 +0200
+++ linux-2.6.23-mod/include/asm-cris/irq_regs.h 2007-10-22 11:13:32.000000000 +0200
@@ -0,0 +1 @@
+#include <asm-generic/irq_regs.h>
diff -urBb -X /h/jespern/.exclude_files clean_linux-2.6.23/arch/cris/kernel/irq.c linux-2.6.23/arch/cris/kernel/irq.c
--- clean_linux-2.6.23/arch/cris/kernel/irq.c 2007-10-09 22:31:38.000000000 +0200
+++ linux-2.6.23/arch/cris/kernel/irq.c 2007-10-22 11:07:34.000000000 +0200
@@ -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 ([email protected])
*
@@ -92,14 +92,16 @@
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)
--- clean_linux-2.6.23/./arch/cris/Kconfig 2007-10-09 22:31:38.000000000 +0200
+++ linux-2.6.23/arch/cris/Kconfig 2007-10-26 11:05:17.000000000 +0200
@@ -57,6 +57,10 @@
source "fs/Kconfig.binfmt"
+config GENERIC_HARDIRQS
+ bool
+ default y
+
config ETRAX_CMDLINE
string "Kernel command line"
default "root=/dev/mtdblock3"
/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]
On Tue, 30 Oct 2007 10:31:01 +0100
Jesper Nilsson <[email protected]> wrote:
> - 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 <[email protected]>
>
> ---
> arch/cris/Kconfig | 4 ++++
> linux-2.6.23-mod/include/asm-cris/irq_regs.h | 1 +
> linux-2.6.23/arch/cris/kernel/irq.c | 6 ++++--
include/asm-cris/irq_regs.h already exists so I dropped that part of your
patch.
All these changes will need retesting - the kernel has changed so much
since 2.6.23 that they might not work correctly now.
On Tue, Oct 30, 2007 at 03:14:10PM -0700, Andrew Morton wrote:
> On Tue, 30 Oct 2007 10:31:01 +0100
> Jesper Nilsson <[email protected]> wrote:
>
> > - 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 <[email protected]>
> >
> > ---
> > arch/cris/Kconfig | 4 ++++
> > linux-2.6.23-mod/include/asm-cris/irq_regs.h | 1 +
> > linux-2.6.23/arch/cris/kernel/irq.c | 6 ++++--
>
> include/asm-cris/irq_regs.h already exists so I dropped that part of your
> patch.
>
> All these changes will need retesting - the kernel has changed so much
> since 2.6.23 that they might not work correctly now.
Will do.
Thanks for all your time and work,
/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]