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