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 | */ | |
1965aae3 PA |
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 | ||
19f47c63 HH |
12 | #define ARCH_HAS_OWN_IRQ_REGS |
13 | ||
7c3576d2 | 14 | DECLARE_PER_CPU(struct pt_regs *, irq_regs); |
70463dac JF |
15 | |
16 | static inline struct pt_regs *get_irq_regs(void) | |
17 | { | |
7c3576d2 | 18 | return x86_read_percpu(irq_regs); |
70463dac JF |
19 | } |
20 | ||
21 | static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) | |
22 | { | |
23 | struct pt_regs *old_regs; | |
24 | ||
7c3576d2 JF |
25 | old_regs = get_irq_regs(); |
26 | x86_write_percpu(irq_regs, new_regs); | |
70463dac JF |
27 | |
28 | return old_regs; | |
29 | } | |
30 | ||
1965aae3 | 31 | #endif /* _ASM_X86_IRQ_REGS_32_H */ |