0001
0002
0003 #ifndef __ASM_CSKY_TRAPS_H
0004 #define __ASM_CSKY_TRAPS_H
0005
0006 #define VEC_RESET 0
0007 #define VEC_ALIGN 1
0008 #define VEC_ACCESS 2
0009 #define VEC_ZERODIV 3
0010 #define VEC_ILLEGAL 4
0011 #define VEC_PRIV 5
0012 #define VEC_TRACE 6
0013 #define VEC_BREAKPOINT 7
0014 #define VEC_UNRECOVER 8
0015 #define VEC_SOFTRESET 9
0016 #define VEC_AUTOVEC 10
0017 #define VEC_FAUTOVEC 11
0018 #define VEC_HWACCEL 12
0019
0020 #define VEC_TLBMISS 14
0021 #define VEC_TLBMODIFIED 15
0022
0023 #define VEC_TRAP0 16
0024 #define VEC_TRAP1 17
0025 #define VEC_TRAP2 18
0026 #define VEC_TRAP3 19
0027
0028 #define VEC_TLBINVALIDL 20
0029 #define VEC_TLBINVALIDS 21
0030
0031 #define VEC_PRFL 29
0032 #define VEC_FPE 30
0033
0034 extern void *vec_base[];
0035
0036 #define VEC_INIT(i, func) \
0037 do { \
0038 vec_base[i] = (void *)func; \
0039 } while (0)
0040
0041 void csky_alignment(struct pt_regs *regs);
0042
0043 #endif