1 /* 2 * From Linux kernel arch/arm64/include/asm/esr.h 3 * 4 * Copyright (C) 2017, Red Hat Inc, Andrew Jones <drjones@redhat.com> 5 * 6 * This work is licensed under the terms of the GNU GPL, version 2. 7 */ 8 #ifndef _ASMARM64_ESR_H_ 9 #define _ASMARM64_ESR_H_ 10 11 #define ESR_EL1_WRITE (1 << 6) 12 #define ESR_EL1_CM (1 << 8) 13 #define ESR_EL1_IL (1 << 25) 14 15 #define ESR_EL1_EC_SHIFT (26) 16 #define ESR_EL1_EC_UNKNOWN (0x00) 17 #define ESR_EL1_EC_WFI (0x01) 18 #define ESR_EL1_EC_CP15_32 (0x03) 19 #define ESR_EL1_EC_CP15_64 (0x04) 20 #define ESR_EL1_EC_CP14_MR (0x05) 21 #define ESR_EL1_EC_CP14_LS (0x06) 22 #define ESR_EL1_EC_FP_ASIMD (0x07) 23 #define ESR_EL1_EC_CP10_ID (0x08) 24 #define ESR_EL1_EC_CP14_64 (0x0C) 25 #define ESR_EL1_EC_ILL_ISS (0x0E) 26 #define ESR_EL1_EC_SVC32 (0x11) 27 #define ESR_EL1_EC_SVC64 (0x15) 28 #define ESR_EL1_EC_SYS64 (0x18) 29 #define ESR_EL1_EC_SVE (0x19) 30 #define ESR_EL1_EC_IABT_EL0 (0x20) 31 #define ESR_EL1_EC_IABT_EL1 (0x21) 32 #define ESR_EL1_EC_PC_ALIGN (0x22) 33 #define ESR_EL1_EC_DABT_EL0 (0x24) 34 #define ESR_EL1_EC_DABT_EL1 (0x25) 35 #define ESR_EL1_EC_SP_ALIGN (0x26) 36 #define ESR_EL1_EC_FP_EXC32 (0x28) 37 #define ESR_EL1_EC_FP_EXC64 (0x2C) 38 #define ESR_EL1_EC_SERROR (0x2F) 39 #define ESR_EL1_EC_BREAKPT_EL0 (0x30) 40 #define ESR_EL1_EC_BREAKPT_EL1 (0x31) 41 #define ESR_EL1_EC_SOFTSTP_EL0 (0x32) 42 #define ESR_EL1_EC_SOFTSTP_EL1 (0x33) 43 #define ESR_EL1_EC_WATCHPT_EL0 (0x34) 44 #define ESR_EL1_EC_WATCHPT_EL1 (0x35) 45 #define ESR_EL1_EC_BKPT32 (0x38) 46 #define ESR_EL1_EC_BRK64 (0x3C) 47 48 #define ESR_EL1_FSC_MASK (0x3F) 49 #define ESR_EL1_FSC_EXTABT (0x10) 50 51 #endif /* _ASMARM64_ESR_H_ */ 52