Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
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 /* __ASM_CSKY_TRAPS_H */