/*===-- 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