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