Commit | Line | Data |
---|---|---|
70463dac JF |
1 | /* |
2 | * Per-cpu current frame pointer - the location of the last exception frame on | |
7c3576d2 | 3 | * the stack, stored in the per-cpu area. |
70463dac JF |
4 | * |
5 | * Jeremy Fitzhardinge <jeremy@goop.org> | |
6 | */ | |
77ef50a5 VN |
7 | #ifndef ASM_X86__IRQ_REGS_32_H |
8 | #define ASM_X86__IRQ_REGS_32_H | |
70463dac | 9 | |
7c3576d2 JF |
10 | #include <asm/percpu.h> |
11 | ||
12 | DECLARE_PER_CPU(struct pt_regs *, irq_regs); | |
70463dac JF |
13 | |
14 | static inline struct pt_regs *get_irq_regs(void) | |
15 | { | |
7c3576d2 | 16 | return x86_read_percpu(irq_regs); |
70463dac JF |
17 | } |
18 | ||
19 | static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) | |
20 | { | |
21 | struct pt_regs *old_regs; | |
22 | ||
7c3576d2 JF |
23 | old_regs = get_irq_regs(); |
24 | x86_write_percpu(irq_regs, new_regs); | |
70463dac JF |
25 | |
26 | return old_regs; | |
27 | } | |
28 | ||
77ef50a5 | 29 | #endif /* ASM_X86__IRQ_REGS_32_H */ |