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