Commit 101daafd authored by Manish Pandey's avatar Manish Pandey Committed by TrustedFirmware Code Review
Browse files

Merge changes from topic "ehf_common" into integration

* changes:
  plat: tegra: Use generic ehf defines
  ehf: use common priority level enumuration
parents 80f823b7 deb875b5
...@@ -568,7 +568,7 @@ ...@@ -568,7 +568,7 @@
#define PLAT_SDEI_NORMAL_PRI 0x70 #define PLAT_SDEI_NORMAL_PRI 0x70
/* ARM platforms use 3 upper bits of secure interrupt priority */ /* ARM platforms use 3 upper bits of secure interrupt priority */
#define ARM_PRI_BITS 3 #define PLAT_PRI_BITS 3
/* SGI used for SDEI signalling */ /* SGI used for SDEI signalling */
#define ARM_SDEI_SGI ARM_IRQ_SEC_SGI_0 #define ARM_SDEI_SGI ARM_IRQ_SEC_SGI_0
......
...@@ -258,7 +258,7 @@ endif ...@@ -258,7 +258,7 @@ endif
endif endif
ifeq (${EL3_EXCEPTION_HANDLING},1) ifeq (${EL3_EXCEPTION_HANDLING},1)
BL31_SOURCES += plat/arm/common/aarch64/arm_ehf.c BL31_SOURCES += plat/common/aarch64/plat_ehf.c
endif endif
ifeq (${SDEI_SUPPORT},1) ifeq (${SDEI_SUPPORT},1)
......
/* /*
* Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved.
* * Copyright (c) 2020, Broadcom
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <platform_def.h>
#include <bl31/ehf.h> #include <bl31/ehf.h>
#include <platform_def.h>
/* /*
* Enumeration of priority levels on ARM platforms. * Enumeration of priority levels on ARM platforms.
*/ */
ehf_pri_desc_t arm_exceptions[] = { ehf_pri_desc_t plat_exceptions[] = {
#if RAS_EXTENSION #if RAS_EXTENSION
/* RAS Priority */ /* RAS Priority */
EHF_PRI_DESC(ARM_PRI_BITS, PLAT_RAS_PRI), EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_RAS_PRI),
#endif #endif
#if SDEI_SUPPORT #if SDEI_SUPPORT
/* Critical priority SDEI */ /* Critical priority SDEI */
EHF_PRI_DESC(ARM_PRI_BITS, PLAT_SDEI_CRITICAL_PRI), EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_CRITICAL_PRI),
/* Normal priority SDEI */ /* Normal priority SDEI */
EHF_PRI_DESC(ARM_PRI_BITS, PLAT_SDEI_NORMAL_PRI), EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_NORMAL_PRI),
#endif #endif
#if SPM_MM #if SPM_MM
EHF_PRI_DESC(ARM_PRI_BITS, PLAT_SP_PRI), EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SP_PRI),
#endif
/* Plaform specific exceptions description */
#ifdef PLAT_EHF_DESC
PLAT_EHF_DESC,
#endif #endif
}; };
/* Plug in ARM exceptions to Exception Handling Framework. */ /* Plug in ARM exceptions to Exception Handling Framework. */
EHF_REGISTER_PRIORITIES(arm_exceptions, ARRAY_SIZE(arm_exceptions), ARM_PRI_BITS); EHF_REGISTER_PRIORITIES(plat_exceptions, ARRAY_SIZE(plat_exceptions), PLAT_PRI_BITS);
...@@ -44,7 +44,6 @@ BL31_SOURCES += drivers/delay_timer/delay_timer.c \ ...@@ -44,7 +44,6 @@ BL31_SOURCES += drivers/delay_timer/delay_timer.c \
${TEGRA_LIBS}/debug/profiler.c \ ${TEGRA_LIBS}/debug/profiler.c \
${TEGRA_COMMON}/tegra_bl31_setup.c \ ${TEGRA_COMMON}/tegra_bl31_setup.c \
${TEGRA_COMMON}/tegra_delay_timer.c \ ${TEGRA_COMMON}/tegra_delay_timer.c \
${TEGRA_COMMON}/tegra_ehf.c \
${TEGRA_COMMON}/tegra_fiq_glue.c \ ${TEGRA_COMMON}/tegra_fiq_glue.c \
${TEGRA_COMMON}/tegra_io_storage.c \ ${TEGRA_COMMON}/tegra_io_storage.c \
${TEGRA_COMMON}/tegra_platform.c \ ${TEGRA_COMMON}/tegra_platform.c \
...@@ -55,3 +54,6 @@ BL31_SOURCES += drivers/delay_timer/delay_timer.c \ ...@@ -55,3 +54,6 @@ BL31_SOURCES += drivers/delay_timer/delay_timer.c \
ifneq ($(ENABLE_STACK_PROTECTOR), 0) ifneq ($(ENABLE_STACK_PROTECTOR), 0)
BL31_SOURCES += ${TEGRA_COMMON}/tegra_stack_protector.c BL31_SOURCES += ${TEGRA_COMMON}/tegra_stack_protector.c
endif endif
ifeq (${EL3_EXCEPTION_HANDLING},1)
BL31_SOURCES += plat/common/aarch64/plat_ehf.c
endif
/*
* Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <platform_def.h>
#include <bl31/ehf.h>
/*
* Enumeration of priority levels on Tegra platforms.
*/
ehf_pri_desc_t tegra_exceptions[] = {
/* Watchdog priority */
EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_TEGRA_WDT_PRIO),
#if SDEI_SUPPORT
/* Critical priority SDEI */
EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_CRITICAL_PRI),
/* Normal priority SDEI */
EHF_PRI_DESC(PLAT_PRI_BITS, PLAT_SDEI_NORMAL_PRI),
#endif
};
/* Plug in Tegra exceptions to Exception Handling Framework. */
EHF_REGISTER_PRIORITIES(tegra_exceptions, ARRAY_SIZE(tegra_exceptions), PLAT_PRI_BITS);
...@@ -99,6 +99,9 @@ ...@@ -99,6 +99,9 @@
#define PLAT_SDEI_NORMAL_PRI U(0x30) #define PLAT_SDEI_NORMAL_PRI U(0x30)
#define PLAT_TEGRA_WDT_PRIO U(0x40) #define PLAT_TEGRA_WDT_PRIO U(0x40)
#define PLAT_EHF_DESC EHF_PRI_DESC(PLAT_PRI_BITS,\
PLAT_TEGRA_WDT_PRIO)
/******************************************************************************* /*******************************************************************************
* SDEI events * SDEI events
******************************************************************************/ ******************************************************************************/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment