[PATCH] i386: Store the interrupt regs pointer in the PDA
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
ec7fcaabbf
commit
70463daca8
|
@ -1 +1,27 @@
|
||||||
#include <asm-generic/irq_regs.h>
|
/*
|
||||||
|
* Per-cpu current frame pointer - the location of the last exception frame on
|
||||||
|
* the stack, stored in the PDA.
|
||||||
|
*
|
||||||
|
* Jeremy Fitzhardinge <jeremy@goop.org>
|
||||||
|
*/
|
||||||
|
#ifndef _ASM_I386_IRQ_REGS_H
|
||||||
|
#define _ASM_I386_IRQ_REGS_H
|
||||||
|
|
||||||
|
#include <asm/pda.h>
|
||||||
|
|
||||||
|
static inline struct pt_regs *get_irq_regs(void)
|
||||||
|
{
|
||||||
|
return read_pda(irq_regs);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
|
||||||
|
{
|
||||||
|
struct pt_regs *old_regs;
|
||||||
|
|
||||||
|
old_regs = read_pda(irq_regs);
|
||||||
|
write_pda(irq_regs, new_regs);
|
||||||
|
|
||||||
|
return old_regs;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _ASM_I386_IRQ_REGS_H */
|
||||||
|
|
|
@ -15,6 +15,7 @@ struct i386_pda
|
||||||
|
|
||||||
int cpu_number;
|
int cpu_number;
|
||||||
struct task_struct *pcurrent; /* current process */
|
struct task_struct *pcurrent; /* current process */
|
||||||
|
struct pt_regs *irq_regs;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct i386_pda *_cpu_pda[];
|
extern struct i386_pda *_cpu_pda[];
|
||||||
|
|
Loading…
Reference in New Issue