| /* 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 */ |