atomic.h: add atomic64 cmpxchg, xchg and add_unless to x86_64
[linux-2.6] / include / asm-i386 / 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_I386_IRQ_REGS_H
8 #define _ASM_I386_IRQ_REGS_H
9
10 #include <asm/percpu.h>
11
12 DECLARE_PER_CPU(struct pt_regs *, irq_regs);
13
14 static inline struct pt_regs *get_irq_regs(void)
15 {
16         return x86_read_percpu(irq_regs);
17 }
18
19 static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
20 {
21         struct pt_regs *old_regs;
22
23         old_regs = get_irq_regs();
24         x86_write_percpu(irq_regs, new_regs);
25
26         return old_regs;
27 }
28
29 #endif /* _ASM_I386_IRQ_REGS_H */