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 25struct exception_info { 26 char *kernel_str; 27 int signo; 28 int code; 29}; 30 31extern int (*c6x_nmi_handler)(struct pt_regs *regs); 32 33#endif /* _ASM_C6X_TRAPS_H */ 34