| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __ASM_CSKY_TRAPS_H
- #define __ASM_CSKY_TRAPS_H
- #include <linux/linkage.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);
- asmlinkage void do_trap_unknown(struct pt_regs *regs);
- asmlinkage void do_trap_zdiv(struct pt_regs *regs);
- asmlinkage void do_trap_buserr(struct pt_regs *regs);
- asmlinkage void do_trap_misaligned(struct pt_regs *regs);
- asmlinkage void do_trap_bkpt(struct pt_regs *regs);
- asmlinkage void do_trap_illinsn(struct pt_regs *regs);
- asmlinkage void do_trap_fpe(struct pt_regs *regs);
- asmlinkage void do_trap_priv(struct pt_regs *regs);
- asmlinkage void trap_c(struct pt_regs *regs);
- asmlinkage void do_notify_resume(struct pt_regs *regs,
- unsigned long thread_info_flags);
- asmlinkage void do_page_fault(struct pt_regs *regs);
- #endif /* __ASM_CSKY_TRAPS_H */
|