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
15DECLARE_PER_CPU(struct pt_regs *, irq_regs);
16
17static inline struct pt_regs *get_irq_regs(void)
18{
19 return this_cpu_read(irq_regs);
20}
21
22static 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