| /* SPDX-License-Identifier: GPL-2.0 */ | |
| // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. | |
| #ifndef __ASM_CSKY_TRAPS_H | |
| #define __ASM_CSKY_TRAPS_H | |
| #define VEC_RESET 0 | |
| #define VEC_ALIGN 1 | |
| #define VEC_ACCESS 2 | |
| #define VEC_ZERODIV 3 | |
| #define VEC_ILLEGAL 4 | |
| #define VEC_PRIV 5 | |
| #define VEC_TRACE 6 | |
| #define VEC_BREAKPOINT 7 | |
| #define VEC_UNRECOVER 8 | |
| #define VEC_SOFTRESET 9 | |
| #define VEC_AUTOVEC 10 | |
| #define VEC_FAUTOVEC 11 | |
| #define VEC_HWACCEL 12 | |
| #define VEC_TLBMISS 14 | |
| #define VEC_TLBMODIFIED 15 | |
| #define VEC_TRAP0 16 | |
| #define VEC_TRAP1 17 | |
| #define VEC_TRAP2 18 | |
| #define VEC_TRAP3 19 | |
| #define VEC_TLBINVALIDL 20 | |
| #define VEC_TLBINVALIDS 21 | |
| #define VEC_PRFL 29 | |
| #define VEC_FPE 30 | |
| extern void *vec_base[]; | |
| #define VEC_INIT(i, func) \ | |
| do { \ | |
| vec_base[i] = (void *)func; \ | |
| } while (0) | |
| void csky_alignment(struct pt_regs *regs); | |
| #endif /* __ASM_CSKY_TRAPS_H */ |