1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Port on Texas Instruments TMS320C6x architecture 4 * 5 * Copyright (C) 2004, 2009, 2011 Texas Instruments Incorporated 6 * Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com) 7 */ 8 #ifndef _ASM_C6X_TRAPS_H 9 #define _ASM_C6X_TRAPS_H 10 11 #define EXCEPT_TYPE_NXF 31 /* NMI */ 12 #define EXCEPT_TYPE_EXC 30 /* external exception */ 13 #define EXCEPT_TYPE_IXF 1 /* internal exception */ 14 #define EXCEPT_TYPE_SXF 0 /* software exception */ 15 16 #define EXCEPT_CAUSE_LBX (1 << 7) /* loop buffer exception */ 17 #define EXCEPT_CAUSE_PRX (1 << 6) /* privilege exception */ 18 #define EXCEPT_CAUSE_RAX (1 << 5) /* resource access exception */ 19 #define EXCEPT_CAUSE_RCX (1 << 4) /* resource conflict exception */ 20 #define EXCEPT_CAUSE_OPX (1 << 3) /* opcode exception */ 21 #define EXCEPT_CAUSE_EPX (1 << 2) /* execute packet exception */ 22 #define EXCEPT_CAUSE_FPX (1 << 1) /* fetch packet exception */ 23 #define EXCEPT_CAUSE_IFX (1 << 0) /* instruction fetch exception */ 24 25 struct exception_info { 26 char *kernel_str; 27 int signo; 28 int code; 29 }; 30 31 extern int (*c6x_nmi_handler)(struct pt_regs *regs); 32 33 #endif /* _ASM_C6X_TRAPS_H */ 34