1 /* 2 * Copyright (c) 2017-2023, ARM Limited and Contributors. All rights reserved. 3 * Copyright (c) 2020, Broadcom 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <bl31/ehf.h> 8 9 #include <platform_def.h> 10 11 /* 12 * Enumeration of priority levels on ARM platforms. 13 */ 14 ehf_pri_desc_t plat_exceptions[] = { 15 #if ENABLE_FEAT_RAS && FFH_SUPPORT 16 /* RAS Priority */ 17 EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_RAS_PRI), 18 #endif 19 20 #if SDEI_SUPPORT 21 /* Critical priority SDEI */ 22 EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_CRITICAL_PRI), 23 24 /* Normal priority SDEI */ 25 EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_NORMAL_PRI), 26 #endif 27 28 #if SPM_MM || (SPMC_AT_EL3 && SPMC_AT_EL3_SEL0_SP) 29 #if ENABLE_FEAT_RAS && FFH_SUPPORT 30 #if (PLAT_SP_PRI != PLAT_RAS_PRI) 31 EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SP_PRI), 32 #endif 33 #else 34 EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SP_PRI), 35 #endif 36 #endif 37 38 /* Platform specific exceptions description */ 39 #ifdef PLAT_EHF_DESC 40 PLAT_EHF_DESC, 41 #endif 42 }; 43 44 /* Plug in ARM exceptions to Exception Handling Framework. */ 45 EHF_REGISTER_PRIORITIES(plat_exceptions, ARRAY_SIZE(plat_exceptions), PLAT_PRI_BITS); 46