10603839bSHuacai Chen /* SPDX-License-Identifier: GPL-2.0 */
20603839bSHuacai Chen /*
30603839bSHuacai Chen  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
40603839bSHuacai Chen  */
50603839bSHuacai Chen #ifndef _ASM_BRANCH_H
60603839bSHuacai Chen #define _ASM_BRANCH_H
70603839bSHuacai Chen 
80603839bSHuacai Chen #include <asm/ptrace.h>
90603839bSHuacai Chen 
exception_era(struct pt_regs * regs)100603839bSHuacai Chen static inline unsigned long exception_era(struct pt_regs *regs)
110603839bSHuacai Chen {
120603839bSHuacai Chen 	return regs->csr_era;
130603839bSHuacai Chen }
140603839bSHuacai Chen 
compute_return_era(struct pt_regs * regs)15*ea18d434STiezhu Yang static inline void compute_return_era(struct pt_regs *regs)
160603839bSHuacai Chen {
170603839bSHuacai Chen 	regs->csr_era += 4;
180603839bSHuacai Chen }
190603839bSHuacai Chen 
200603839bSHuacai Chen #endif /* _ASM_BRANCH_H */
21