1 /* SPDX-License-Identifier: GPL-2.0 */
3 #ifndef __ASM_CSKY_TRAPS_H
4 #define __ASM_CSKY_TRAPS_H
6 #include <linux/linkage.h>
15 #define VEC_BREAKPOINT 7
16 #define VEC_UNRECOVER 8
17 #define VEC_SOFTRESET 9
18 #define VEC_AUTOVEC 10
19 #define VEC_FAUTOVEC 11
20 #define VEC_HWACCEL 12
22 #define VEC_TLBMISS 14
23 #define VEC_TLBMODIFIED 15
30 #define VEC_TLBINVALIDL 20
31 #define VEC_TLBINVALIDS 21
36 extern void *vec_base
[];
38 #define VEC_INIT(i, func) \
40 vec_base[i] = (void *)func; \
43 void csky_alignment(struct pt_regs
*regs
);
45 asmlinkage
void do_trap_unknown(struct pt_regs
*regs
);
46 asmlinkage
void do_trap_zdiv(struct pt_regs
*regs
);
47 asmlinkage
void do_trap_buserr(struct pt_regs
*regs
);
48 asmlinkage
void do_trap_misaligned(struct pt_regs
*regs
);
49 asmlinkage
void do_trap_bkpt(struct pt_regs
*regs
);
50 asmlinkage
void do_trap_illinsn(struct pt_regs
*regs
);
51 asmlinkage
void do_trap_fpe(struct pt_regs
*regs
);
52 asmlinkage
void do_trap_priv(struct pt_regs
*regs
);
53 asmlinkage
void trap_c(struct pt_regs
*regs
);
55 asmlinkage
void do_notify_resume(struct pt_regs
*regs
,
56 unsigned long thread_info_flags
);
58 asmlinkage
void do_page_fault(struct pt_regs
*regs
);
60 #endif /* __ASM_CSKY_TRAPS_H */