Commit | Line | Data |
---|---|---|
d650a514 BG |
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 | { | |
c6ae41e7 | 18 | return this_cpu_read(irq_regs); |
d650a514 BG |
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(); | |
c6ae41e7 | 26 | this_cpu_write(irq_regs, new_regs); |
d650a514 BG |
27 | |
28 | return old_regs; | |
29 | } | |
30 | ||
31 | #endif /* _ASM_X86_IRQ_REGS_32_H */ |