1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
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 | { |
19 | return this_cpu_read(irq_regs); |
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(); |
27 | this_cpu_write(irq_regs, new_regs); |
28 | |
29 | return old_regs; |
30 | } |
31 | |
32 | #endif /* _ASM_X86_IRQ_REGS_32_H */ |
33 |