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 | */ | |
7 | #ifndef _ASM_I386_IRQ_REGS_H | |
8 | #define _ASM_I386_IRQ_REGS_H | |
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 | ||
29 | #endif /* _ASM_I386_IRQ_REGS_H */ |