[PATCH] uml pt_regs fixes
Real fix for UML pt_regs stuff. Note set_irq_regs() logics in there... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
@@ -355,14 +355,16 @@ void forward_interrupts(int pid)
|
||||
*/
|
||||
unsigned int do_IRQ(int irq, union uml_pt_regs *regs)
|
||||
{
|
||||
irq_enter();
|
||||
__do_IRQ(irq);
|
||||
irq_exit();
|
||||
return 1;
|
||||
struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs);
|
||||
irq_enter();
|
||||
__do_IRQ(irq);
|
||||
irq_exit();
|
||||
set_irq_regs(old_regs);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int um_request_irq(unsigned int irq, int fd, int type,
|
||||
irqreturn_t (*handler)(int, void *, struct pt_regs *),
|
||||
irqreturn_t (*handler)(int, void *),
|
||||
unsigned long irqflags, const char * devname,
|
||||
void *dev_id)
|
||||
{
|
||||
@@ -423,8 +425,7 @@ void __init init_IRQ(void)
|
||||
}
|
||||
}
|
||||
|
||||
int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *,
|
||||
struct pt_regs *))
|
||||
int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *))
|
||||
{
|
||||
int fds[2], err;
|
||||
|
||||
|
Reference in New Issue
Block a user