xref: /rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c (revision 6f802c44e9c2b926cf887a03e596b4ada841d3a5)
1262aceaaSSandeep Tripathy /*
26e92a82cSNishant Sharma  * Copyright (c) 2017-2023, ARM Limited and Contributors. All rights reserved.
3262aceaaSSandeep Tripathy  * Copyright (c) 2020, Broadcom
4262aceaaSSandeep Tripathy  * SPDX-License-Identifier: BSD-3-Clause
5262aceaaSSandeep Tripathy  */
6262aceaaSSandeep Tripathy 
7262aceaaSSandeep Tripathy #include <bl31/ehf.h>
8262aceaaSSandeep Tripathy 
9262aceaaSSandeep Tripathy #include <platform_def.h>
10262aceaaSSandeep Tripathy 
11262aceaaSSandeep Tripathy /*
12262aceaaSSandeep Tripathy  * Enumeration of priority levels on ARM platforms.
13262aceaaSSandeep Tripathy  */
14262aceaaSSandeep Tripathy ehf_pri_desc_t plat_exceptions[] = {
15*f87e54f7SManish Pandey #if ENABLE_FEAT_RAS && FFH_SUPPORT
16262aceaaSSandeep Tripathy 	/* RAS Priority */
17262aceaaSSandeep Tripathy 	EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_RAS_PRI),
18262aceaaSSandeep Tripathy #endif
19262aceaaSSandeep Tripathy 
20262aceaaSSandeep Tripathy #if SDEI_SUPPORT
21262aceaaSSandeep Tripathy 	/* Critical priority SDEI */
22262aceaaSSandeep Tripathy 	EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_CRITICAL_PRI),
23262aceaaSSandeep Tripathy 
24262aceaaSSandeep Tripathy 	/* Normal priority SDEI */
25262aceaaSSandeep Tripathy 	EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_NORMAL_PRI),
26262aceaaSSandeep Tripathy #endif
27bf01999aSOmkar Anand Kulkarni 
286e92a82cSNishant Sharma #if SPM_MM || (SPMC_AT_EL3 && SPMC_AT_EL3_SEL0_SP)
29*f87e54f7SManish Pandey #if ENABLE_FEAT_RAS && FFH_SUPPORT
30bf01999aSOmkar Anand Kulkarni #if (PLAT_SP_PRI != PLAT_RAS_PRI)
31262aceaaSSandeep Tripathy 	EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SP_PRI),
32262aceaaSSandeep Tripathy #endif
33bf01999aSOmkar Anand Kulkarni #else
34bf01999aSOmkar Anand Kulkarni 	EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SP_PRI),
35bf01999aSOmkar Anand Kulkarni #endif
36bf01999aSOmkar Anand Kulkarni #endif
37bf01999aSOmkar Anand Kulkarni 
381b491eeaSElyes Haouas 	/* Platform specific exceptions description */
39262aceaaSSandeep Tripathy #ifdef PLAT_EHF_DESC
40262aceaaSSandeep Tripathy 	PLAT_EHF_DESC,
41262aceaaSSandeep Tripathy #endif
42262aceaaSSandeep Tripathy };
43262aceaaSSandeep Tripathy 
44262aceaaSSandeep Tripathy /* Plug in ARM exceptions to Exception Handling Framework. */
45262aceaaSSandeep Tripathy EHF_REGISTER_PRIORITIES(plat_exceptions, ARRAY_SIZE(plat_exceptions), PLAT_PRI_BITS);
46