| /*===-- AppleArm64ExceptionClass.def ---------------------------*- C++ -*-=== *\ |
| |* |
| |* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| |* See https://llvm.org/LICENSE.txt for license information. |
| |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |* |
| \*===----------------------------------------------------------------------===*/ |
| |
| // Defines ESR exception classes for Apple arm64* targets. |
| // These largely map 1:1 to the exception classes defined in ARM's architecture |
| // reference manual, but there are some Apple-specific additions. |
| |
| #ifndef APPLE_ARM64_EXCEPTION_CLASS |
| #error "APPLE_ARM64_EXCEPTION_CLASS(Name, Code) not defined." |
| #endif |
| |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_UNCATEGORIZED, 0x00) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WFI_WFE, 0x01) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCR_MRC_CP15_TRAP, 0x03) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCRR_MRRC_CP15_TRAP, 0x04) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCR_MRC_CP14_TRAP, 0x05) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_LDC_STC_CP14_TRAP, 0x06) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_TRAP_SIMD_FP, 0x07) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PTRAUTH_INSTR_TRAP, 0x09) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MCRR_MRRC_CP14_TRAP, 0x0c) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_ILLEGAL_INSTR_SET, 0x0e) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SVC_32, 0x11) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SVC_64, 0x15) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_MSR_TRAP, 0x18) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PAC_FAIL, 0x1C) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_IABORT_EL0, 0x20) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_IABORT_EL1, 0x21) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PC_ALIGN, 0x22) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_DABORT_EL0, 0x24) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_DABORT_EL1, 0x25) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SP_ALIGN, 0x26) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_FLOATING_POINT_32, 0x28) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_FLOATING_POINT_64, 0x2C) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SERROR_INTERRUPT, 0x2F) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_REG_MATCH_EL0, 0x30) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_REG_MATCH_EL1, 0x31) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SW_STEP_DEBUG_EL0, 0x32) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_SW_STEP_DEBUG_EL1, 0x33) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WATCHPT_MATCH_EL0, 0x34) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_WATCHPT_MATCH_EL1, 0x35) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BKPT_AARCH32, 0x38) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_BRK_AARCH64, 0x3C) |
| APPLE_ARM64_EXCEPTION_CLASS(ESR_EC_PRIV, 0x3F) |
| |
| #undef APPLE_ARM64_EXCEPTION_CLASS |