* [PATCH] um: irq changes break build
@ 2006-10-06 7:26 Pekka J Enberg
2006-10-08 16:20 ` Al Viro
0 siblings, 1 reply; 3+ messages in thread
From: Pekka J Enberg @ 2006-10-06 7:26 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, dhowells, jdike, blaisorblade
From: Pekka Enberg <penberg@cs.helsinki.fi>
Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ:
Maintain regs pointer globally rather than passing to IRQ handlers".
Cc: David Howells <dhowells@redhat.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo "Blaisorblade" Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---
arch/um/kernel/irq.c | 2 +-
include/asm-um/irq_regs.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
Index: 2.6/include/asm-um/irq_regs.h
===================================================================
--- /dev/null
+++ 2.6/include/asm-um/irq_regs.h
@@ -0,0 +1 @@
+#include <asm-generic/irq_regs.h>
Index: 2.6/arch/um/kernel/irq.c
===================================================================
--- 2.6.orig/arch/um/kernel/irq.c
+++ 2.6/arch/um/kernel/irq.c
@@ -356,7 +356,7 @@ void forward_interrupts(int pid)
unsigned int do_IRQ(int irq, union uml_pt_regs *regs)
{
irq_enter();
- __do_IRQ(irq, (struct pt_regs *)regs);
+ __do_IRQ(irq);
irq_exit();
return 1;
}
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] um: irq changes break build
2006-10-06 7:26 [PATCH] um: irq changes break build Pekka J Enberg
@ 2006-10-08 16:20 ` Al Viro
0 siblings, 0 replies; 3+ messages in thread
From: Al Viro @ 2006-10-08 16:20 UTC (permalink / raw)
To: Pekka J Enberg; +Cc: akpm, linux-kernel, dhowells, jdike, blaisorblade
On Fri, Oct 06, 2006 at 10:26:12AM +0300, Pekka J Enberg wrote:
> From: Pekka Enberg <penberg@cs.helsinki.fi>
>
> Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ:
> Maintain regs pointer globally rather than passing to IRQ handlers".
This is not a fix. You need to arrange for set_irq_regs() done at the
right points.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] um: irq changes break build
@ 2006-10-06 10:15 David Howells
0 siblings, 0 replies; 3+ messages in thread
From: David Howells @ 2006-10-06 10:15 UTC (permalink / raw)
To: penberg, akpm; +Cc: linux-kernel, dhowells, jdike, blaisorblade
From: Pekka Enberg <penberg@cs.helsinki.fi>
Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ:
Maintain regs pointer globally rather than passing to IRQ handlers".
Added code to save/restore regs pointer.
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo "Blaisorblade" Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-Off-By: David Howells <dhowells@redhat.com>
---
arch/um/kernel/irq.c | 10 ++++++----
include/asm-um/irq_regs.h | 1 +
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c
index eee97bb..41b2e53 100644
--- a/arch/um/kernel/irq.c
+++ b/arch/um/kernel/irq.c
@@ -355,10 +355,12 @@ #endif
*/
unsigned int do_IRQ(int irq, union uml_pt_regs *regs)
{
- irq_enter();
- __do_IRQ(irq, (struct pt_regs *)regs);
- irq_exit();
- return 1;
+ struct pt_regs *old_regs = set_irq_regs(regs);
+ irq_enter();
+ __do_IRQ(irq, (struct pt_regs *)regs);
+ irq_exit();
+ set_irq_regs(old_regs);
+ return 1;
}
int um_request_irq(unsigned int irq, int fd, int type,
diff --git a/include/asm-um/irq_regs.h b/include/asm-um/irq_regs.h
new file mode 100644
index 0000000..3dd9c0b
--- /dev/null
+++ b/include/asm-um/irq_regs.h
@@ -0,0 +1 @@
+#include <asm-generic/irq_regs.h>
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-10-08 16:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-06 7:26 [PATCH] um: irq changes break build Pekka J Enberg
2006-10-08 16:20 ` Al Viro
-- strict thread matches above, loose matches on Subject: below --
2006-10-06 10:15 David Howells
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox