]> Git Repo - linux.git/blob - arch/csky/include/asm/traps.h
Linux 6.14-rc3
[linux.git] / arch / csky / include / asm / traps.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2
3 #ifndef __ASM_CSKY_TRAPS_H
4 #define __ASM_CSKY_TRAPS_H
5
6 #include <linux/linkage.h>
7
8 #define VEC_RESET       0
9 #define VEC_ALIGN       1
10 #define VEC_ACCESS      2
11 #define VEC_ZERODIV     3
12 #define VEC_ILLEGAL     4
13 #define VEC_PRIV        5
14 #define VEC_TRACE       6
15 #define VEC_BREAKPOINT  7
16 #define VEC_UNRECOVER   8
17 #define VEC_SOFTRESET   9
18 #define VEC_AUTOVEC     10
19 #define VEC_FAUTOVEC    11
20 #define VEC_HWACCEL     12
21
22 #define VEC_TLBMISS     14
23 #define VEC_TLBMODIFIED 15
24
25 #define VEC_TRAP0       16
26 #define VEC_TRAP1       17
27 #define VEC_TRAP2       18
28 #define VEC_TRAP3       19
29
30 #define VEC_TLBINVALIDL 20
31 #define VEC_TLBINVALIDS 21
32
33 #define VEC_PRFL        29
34 #define VEC_FPE         30
35
36 extern void *vec_base[];
37
38 #define VEC_INIT(i, func) \
39 do { \
40         vec_base[i] = (void *)func; \
41 } while (0)
42
43 void csky_alignment(struct pt_regs *regs);
44
45 asmlinkage void do_trap_unknown(struct pt_regs *regs);
46 asmlinkage void do_trap_zdiv(struct pt_regs *regs);
47 asmlinkage void do_trap_buserr(struct pt_regs *regs);
48 asmlinkage void do_trap_misaligned(struct pt_regs *regs);
49 asmlinkage void do_trap_bkpt(struct pt_regs *regs);
50 asmlinkage void do_trap_illinsn(struct pt_regs *regs);
51 asmlinkage void do_trap_fpe(struct pt_regs *regs);
52 asmlinkage void do_trap_priv(struct pt_regs *regs);
53 asmlinkage void trap_c(struct pt_regs *regs);
54
55 asmlinkage void do_notify_resume(struct pt_regs *regs,
56                         unsigned long thread_info_flags);
57
58 asmlinkage void do_page_fault(struct pt_regs *regs);
59
60 #endif /* __ASM_CSKY_TRAPS_H */
This page took 0.034085 seconds and 4 git commands to generate.