Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
[linux-2.6] / arch / x86 / include / asm / irq_regs.h
1 /*
2  * Per-cpu current frame pointer - the location of the last exception frame on
3  * the stack, stored in the per-cpu area.
4  *
5  * Jeremy Fitzhardinge <jeremy@goop.org>
6  */
7 #ifndef _ASM_X86_IRQ_REGS_H
8 #define _ASM_X86_IRQ_REGS_H
9
10 #include <asm/percpu.h>
11
12 #define ARCH_HAS_OWN_IRQ_REGS
13
14 DECLARE_PER_CPU(struct pt_regs *, irq_regs);
15
16 static inline struct pt_regs *get_irq_regs(void)
17 {
18         return percpu_read(irq_regs);
19 }
20
21 static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
22 {
23         struct pt_regs *old_regs;
24
25         old_regs = get_irq_regs();
26         percpu_write(irq_regs, new_regs);
27
28         return old_regs;
29 }
30
31 #endif /* _ASM_X86_IRQ_REGS_32_H */