34 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/* Fallback per-CPU frame pointer holder3 *4 * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.5 * Written by David Howells (dhowells@redhat.com)6 */7 8#ifndef _ASM_GENERIC_IRQ_REGS_H9#define _ASM_GENERIC_IRQ_REGS_H10 11#include <linux/percpu.h>12 13/*14 * Per-cpu current frame pointer - the location of the last exception frame on15 * the stack16 */17DECLARE_PER_CPU(struct pt_regs *, __irq_regs);18 19static inline struct pt_regs *get_irq_regs(void)20{21 return __this_cpu_read(__irq_regs);22}23 24static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)25{26 struct pt_regs *old_regs;27 28 old_regs = __this_cpu_read(__irq_regs);29 __this_cpu_write(__irq_regs, new_regs);30 return old_regs;31}32 33#endif /* _ASM_GENERIC_IRQ_REGS_H */34