Skip to contentSkip to conversation

CRIS architecture: Correct compile errors

PATCH In review Jesper Nilsson 2 participants 3 messages Oct 30, 2007 – Oct 31, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 6/16 CRIS architecture: Correct compile errors

- New file include/asm-cris/irq_regs.h.
- Change handling of registers for do_IRQ.
- Add GENERIC_HARDIRQS to Kconfig.

---
 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(-)
include/asm-cris/irq_regs.h new file +1 -0
@@ -0,0 +1 @@
+#include <asm-generic/irq_regs.h>
arch/cris/kernel/irq.c +4 -2
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
@@ -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)
arch/cris/Kconfig renamed from ./arch/cris/Kconfig +4 -0
@@ -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]

#1 lore raw
Quoted 10 lines · On Tue, 30 Oct 2007 10:31:01 +0100 Jesper Nilsson <[email protected]>…

- New file include/asm-cris/irq_regs.h.
- Change handling of registers for do_IRQ.
- Add GENERIC_HARDIRQS to Kconfig.

---
 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.

#2 lore raw
Quoted 14 lines · Andrew Morton
Quoted 10 lines · On Tue, 30 Oct 2007 10:31:01 +0100 Jesper Nilsson <[email protected]>…

- New file include/asm-cris/irq_regs.h.
- Change handling of registers for do_IRQ.
- Add GENERIC_HARDIRQS to Kconfig.

---
 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 ++++--
Quoted 5 lines

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]