18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci#ifndef __ASM_EXCEPTION_H
48c2ecf20Sopenharmony_ci#define __ASM_EXCEPTION_H
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#include <asm/ptrace.h>
78c2ecf20Sopenharmony_ci#include <linux/kprobes.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_civoid show_registers(struct pt_regs *regs);
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciasmlinkage void cache_parity_error(void);
128c2ecf20Sopenharmony_ciasmlinkage void noinstr do_ade(struct pt_regs *regs);
138c2ecf20Sopenharmony_ciasmlinkage void noinstr do_ale(struct pt_regs *regs);
148c2ecf20Sopenharmony_ciasmlinkage void noinstr do_bce(struct pt_regs *regs);
158c2ecf20Sopenharmony_ciasmlinkage void noinstr do_bp(struct pt_regs *regs);
168c2ecf20Sopenharmony_ciasmlinkage void noinstr do_ri(struct pt_regs *regs);
178c2ecf20Sopenharmony_ciasmlinkage void noinstr do_fpu(struct pt_regs *regs);
188c2ecf20Sopenharmony_ciasmlinkage void noinstr do_fpe(struct pt_regs *regs, unsigned long fcsr);
198c2ecf20Sopenharmony_ciasmlinkage void noinstr do_lsx(struct pt_regs *regs);
208c2ecf20Sopenharmony_ciasmlinkage void noinstr do_lasx(struct pt_regs *regs);
218c2ecf20Sopenharmony_ciasmlinkage void noinstr do_lbt(struct pt_regs *regs);
228c2ecf20Sopenharmony_ciasmlinkage void noinstr do_watch(struct pt_regs *regs);
238c2ecf20Sopenharmony_ciasmlinkage void noinstr do_syscall(struct pt_regs *regs);
248c2ecf20Sopenharmony_ciasmlinkage void noinstr do_reserved(struct pt_regs *regs);
258c2ecf20Sopenharmony_ciasmlinkage void noinstr do_vint(struct pt_regs *regs, unsigned long sp);
268c2ecf20Sopenharmony_ciasmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
278c2ecf20Sopenharmony_ci				unsigned long write, unsigned long address);
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciasmlinkage void handle_ade(void);
308c2ecf20Sopenharmony_ciasmlinkage void handle_ale(void);
318c2ecf20Sopenharmony_ciasmlinkage void handle_bce(void);
328c2ecf20Sopenharmony_ciasmlinkage void handle_sys(void);
338c2ecf20Sopenharmony_ciasmlinkage void handle_bp(void);
348c2ecf20Sopenharmony_ciasmlinkage void handle_ri(void);
358c2ecf20Sopenharmony_ciasmlinkage void handle_fpu(void);
368c2ecf20Sopenharmony_ciasmlinkage void handle_fpe(void);
378c2ecf20Sopenharmony_ciasmlinkage void handle_lsx(void);
388c2ecf20Sopenharmony_ciasmlinkage void handle_lasx(void);
398c2ecf20Sopenharmony_ciasmlinkage void handle_lbt(void);
408c2ecf20Sopenharmony_ciasmlinkage void handle_watch(void);
418c2ecf20Sopenharmony_ciasmlinkage void handle_reserved(void);
428c2ecf20Sopenharmony_ciasmlinkage void handle_vint(void);
438c2ecf20Sopenharmony_ciasmlinkage void noinstr handle_loongarch_irq(struct pt_regs *regs);
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci#endif	/* __ASM_EXCEPTION_H */
46