1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __ASM_EXCEPTION_H
4 #define __ASM_EXCEPTION_H
5 
6 #include <asm/ptrace.h>
7 #include <linux/kprobes.h>
8 
9 extern void *exception_table[];
10 
11 void show_registers(struct pt_regs *regs);
12 
13 asmlinkage void cache_parity_error(void);
14 asmlinkage void noinstr do_ade(struct pt_regs *regs);
15 asmlinkage void noinstr do_ale(struct pt_regs *regs);
16 asmlinkage void noinstr do_bce(struct pt_regs *regs);
17 asmlinkage void noinstr do_bp(struct pt_regs *regs);
18 asmlinkage void noinstr do_ri(struct pt_regs *regs);
19 asmlinkage void noinstr do_fpu(struct pt_regs *regs);
20 asmlinkage void noinstr do_fpe(struct pt_regs *regs, unsigned long fcsr);
21 asmlinkage void noinstr do_lsx(struct pt_regs *regs);
22 asmlinkage void noinstr do_lasx(struct pt_regs *regs);
23 asmlinkage void noinstr do_lbt(struct pt_regs *regs);
24 asmlinkage void noinstr do_watch(struct pt_regs *regs);
25 asmlinkage void noinstr do_syscall(struct pt_regs *regs);
26 asmlinkage void noinstr do_reserved(struct pt_regs *regs);
27 asmlinkage void noinstr do_vint(struct pt_regs *regs, unsigned long sp);
28 asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
29 				unsigned long write, unsigned long address);
30 
31 asmlinkage void handle_ade(void);
32 asmlinkage void handle_ale(void);
33 asmlinkage void handle_bce(void);
34 asmlinkage void handle_sys(void);
35 asmlinkage void handle_bp(void);
36 asmlinkage void handle_ri(void);
37 asmlinkage void handle_fpu(void);
38 asmlinkage void handle_fpe(void);
39 asmlinkage void handle_lsx(void);
40 asmlinkage void handle_lasx(void);
41 asmlinkage void handle_lbt(void);
42 asmlinkage void handle_watch(void);
43 asmlinkage void handle_reserved(void);
44 asmlinkage void handle_vint(void);
45 asmlinkage void noinstr handle_loongarch_irq(struct pt_regs *regs);
46 
47 #endif	/* __ASM_EXCEPTION_H */
48