diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2006-12-07 04:14:03 +0300 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-07 04:14:03 +0300 |
commit | 70463daca852db396ce17f179d2404b257ba0f66 (patch) | |
tree | d0f89336cd46ab79e8a42239fa758cf43857491d /include/asm-i386/irq_regs.h | |
parent | ec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 (diff) | |
download | linux-70463daca852db396ce17f179d2404b257ba0f66.tar.xz |
[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>
Diffstat (limited to 'include/asm-i386/irq_regs.h')
-rw-r--r-- | include/asm-i386/irq_regs.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/include/asm-i386/irq_regs.h b/include/asm-i386/irq_regs.h index 3dd9c0b70270..a1b3f7f594a2 100644 --- a/include/asm-i386/irq_regs.h +++ b/include/asm-i386/irq_regs.h @@ -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 */ |