]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
d650a514 BG |
2 | /* |
3 | * Per-cpu current frame pointer - the location of the last exception frame on | |
4 | * the stack, stored in the per-cpu area. | |
5 | * | |
6 | * Jeremy Fitzhardinge <jeremy@goop.org> | |
7 | */ | |
8 | #ifndef _ASM_X86_IRQ_REGS_H | |
9 | #define _ASM_X86_IRQ_REGS_H | |
10 | ||
11 | #include <asm/percpu.h> | |
12 | ||
13 | #define ARCH_HAS_OWN_IRQ_REGS | |
14 | ||
15 | DECLARE_PER_CPU(struct pt_regs *, irq_regs); | |
16 | ||
17 | static inline struct pt_regs *get_irq_regs(void) | |
18 | { | |
c6ae41e7 | 19 | return this_cpu_read(irq_regs); |
d650a514 BG |
20 | } |
21 | ||
22 | static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) | |
23 | { | |
24 | struct pt_regs *old_regs; | |
25 | ||
26 | old_regs = get_irq_regs(); | |
c6ae41e7 | 27 | this_cpu_write(irq_regs, new_regs); |
d650a514 BG |
28 | |
29 | return old_regs; | |
30 | } | |
31 | ||
32 | #endif /* _ASM_X86_IRQ_REGS_32_H */ |