Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 : : /* Fallback per-CPU frame pointer holder 3 : : * 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_H 9 : : #define _ASM_GENERIC_IRQ_REGS_H 10 : : 11 : : #include <linux/percpu.h> 12 : : 13 : : /* 14 : : * Per-cpu current frame pointer - the location of the last exception frame on 15 : : * the stack 16 : : */ 17 : : DECLARE_PER_CPU(struct pt_regs *, __irq_regs); 18 : : 19 : : static inline struct pt_regs *get_irq_regs(void) 20 : : { 21 : 39492632 : return __this_cpu_read(__irq_regs); 22 : : } 23 : : 24 : : static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) 25 : : { 26 : : struct pt_regs *old_regs; 27 : : 28 : 57638277 : old_regs = __this_cpu_read(__irq_regs); 29 : 77134498 : __this_cpu_write(__irq_regs, new_regs); 30 : : return old_regs; 31 : : } 32 : : 33 : : #endif /* _ASM_GENERIC_IRQ_REGS_H */