WIP FPC-III support
[linux/fpc-iii.git] / arch / csky / include / asm / traps.h
blob1c081805b96226d2e6327e54612e7cdd5e1c4213
1 /* SPDX-License-Identifier: GPL-2.0 */
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
4 #ifndef __ASM_CSKY_TRAPS_H
5 #define __ASM_CSKY_TRAPS_H
7 #define VEC_RESET 0
8 #define VEC_ALIGN 1
9 #define VEC_ACCESS 2
10 #define VEC_ZERODIV 3
11 #define VEC_ILLEGAL 4
12 #define VEC_PRIV 5
13 #define VEC_TRACE 6
14 #define VEC_BREAKPOINT 7
15 #define VEC_UNRECOVER 8
16 #define VEC_SOFTRESET 9
17 #define VEC_AUTOVEC 10
18 #define VEC_FAUTOVEC 11
19 #define VEC_HWACCEL 12
21 #define VEC_TLBMISS 14
22 #define VEC_TLBMODIFIED 15
24 #define VEC_TRAP0 16
25 #define VEC_TRAP1 17
26 #define VEC_TRAP2 18
27 #define VEC_TRAP3 19
29 #define VEC_TLBINVALIDL 20
30 #define VEC_TLBINVALIDS 21
32 #define VEC_PRFL 29
33 #define VEC_FPE 30
35 extern void *vec_base[];
37 #define VEC_INIT(i, func) \
38 do { \
39 vec_base[i] = (void *)func; \
40 } while (0)
42 void csky_alignment(struct pt_regs *regs);
44 #endif /* __ASM_CSKY_TRAPS_H */