1*0603839bSHuacai Chen /* SPDX-License-Identifier: GPL-2.0 */ 2*0603839bSHuacai Chen /* 3*0603839bSHuacai Chen * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 4*0603839bSHuacai Chen */ 5*0603839bSHuacai Chen #ifndef __ASM_IRQ_REGS_H 6*0603839bSHuacai Chen #define __ASM_IRQ_REGS_H 7*0603839bSHuacai Chen 8*0603839bSHuacai Chen #define ARCH_HAS_OWN_IRQ_REGS 9*0603839bSHuacai Chen 10*0603839bSHuacai Chen #include <linux/thread_info.h> 11*0603839bSHuacai Chen get_irq_regs(void)12*0603839bSHuacai Chenstatic inline struct pt_regs *get_irq_regs(void) 13*0603839bSHuacai Chen { 14*0603839bSHuacai Chen return current_thread_info()->regs; 15*0603839bSHuacai Chen } 16*0603839bSHuacai Chen set_irq_regs(struct pt_regs * new_regs)17*0603839bSHuacai Chenstatic inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) 18*0603839bSHuacai Chen { 19*0603839bSHuacai Chen struct pt_regs *old_regs; 20*0603839bSHuacai Chen 21*0603839bSHuacai Chen old_regs = get_irq_regs(); 22*0603839bSHuacai Chen current_thread_info()->regs = new_regs; 23*0603839bSHuacai Chen 24*0603839bSHuacai Chen return old_regs; 25*0603839bSHuacai Chen } 26*0603839bSHuacai Chen 27*0603839bSHuacai Chen #endif /* __ASM_IRQ_REGS_H */ 28