1 /* SPDX-License-Identifier: GPL-2.0 */ 2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 3 4 #ifndef __ASM_CSKY_TRAPS_H 5 #define __ASM_CSKY_TRAPS_H 6 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 20 21 #define VEC_TLBMISS 14 22 #define VEC_TLBMODIFIED 15 23 24 #define VEC_TRAP0 16 25 #define VEC_TRAP1 17 26 #define VEC_TRAP2 18 27 #define VEC_TRAP3 19 28 29 #define VEC_TLBINVALIDL 20 30 #define VEC_TLBINVALIDS 21 31 32 #define VEC_PRFL 29 33 #define VEC_FPE 30 34 35 extern void *vec_base[]; 36 37 #define VEC_INIT(i, func) \ 38 do { \ 39 vec_base[i] = (void *)func; \ 40 } while (0) 41 42 void csky_alignment(struct pt_regs *regs); 43 44 #endif /* __ASM_CSKY_TRAPS_H */ 45