You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[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;
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* Protected by sigio_lock() called from write_sigio_workaround */
|
||||
static int sigio_irq_fd = -1;
|
||||
|
||||
static irqreturn_t sigio_interrupt(int irq, void *data, struct pt_regs *unused)
|
||||
static irqreturn_t sigio_interrupt(int irq, void *data)
|
||||
{
|
||||
char c;
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ static inline unsigned long long get_time(void)
|
||||
return nsecs;
|
||||
}
|
||||
|
||||
irqreturn_t um_timer(int irq, void *dev, struct pt_regs *regs)
|
||||
irqreturn_t um_timer(int irq, void *dev)
|
||||
{
|
||||
unsigned long long nsecs;
|
||||
unsigned long flags;
|
||||
|
||||
Reference in New Issue
Block a user