1 | /*===-- AppleArm64ExceptionClass.def ---------------------------*- C++ -*-=== *\ |
2 | |* |
3 | |* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | |* See https://llvm.org/LICENSE.txt for license information. |
5 | |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | |* |
7 | \*===----------------------------------------------------------------------===*/ |
8 | |
9 | // Defines ESR exception classes for Apple arm64* targets. |
10 | // These largely map 1:1 to the exception classes defined in ARM's architecture |
11 | // reference manual, but there are some Apple-specific additions. |
12 | |
13 | #ifndef APPLE_ARM64_EXCEPTION_CLASS |
14 | #error "APPLE_ARM64_EXCEPTION_CLASS(Name, Code) not defined." |
15 | #endif |
16 | |
17 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_UNCATEGORIZED, 0x00) |
18 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WFI_WFE, 0x01) |
19 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCR_MRC_CP15_TRAP, 0x03) |
20 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCRR_MRRC_CP15_TRAP, 0x04) |
21 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCR_MRC_CP14_TRAP, 0x05) |
22 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_LDC_STC_CP14_TRAP, 0x06) |
23 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_TRAP_SIMD_FP, 0x07) |
24 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PTRAUTH_INSTR_TRAP, 0x09) |
25 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCRR_MRRC_CP14_TRAP, 0x0c) |
26 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_ILLEGAL_INSTR_SET, 0x0e) |
27 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SVC_32, 0x11) |
28 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SVC_64, 0x15) |
29 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MSR_TRAP, 0x18) |
30 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PAC_FAIL, 0x1C) |
31 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_IABORT_EL0, 0x20) |
32 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_IABORT_EL1, 0x21) |
33 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PC_ALIGN, 0x22) |
34 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_DABORT_EL0, 0x24) |
35 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_DABORT_EL1, 0x25) |
36 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SP_ALIGN, 0x26) |
37 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_FLOATING_POINT_32, 0x28) |
38 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_FLOATING_POINT_64, 0x2C) |
39 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SERROR_INTERRUPT, 0x2F) |
40 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_REG_MATCH_EL0, 0x30) |
41 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_REG_MATCH_EL1, 0x31) |
42 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SW_STEP_DEBUG_EL0, 0x32) |
43 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SW_STEP_DEBUG_EL1, 0x33) |
44 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WATCHPT_MATCH_EL0, 0x34) |
45 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WATCHPT_MATCH_EL1, 0x35) |
46 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_AARCH32, 0x38) |
47 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BRK_AARCH64, 0x3C) |
48 | APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PRIV, 0x3F) |
49 | |
50 | #undef APPLE_ARM64_EXCEPTION_CLASS |
51 | |