mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 09:04:17 +00:00

Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To make the current design of RAS explicit, rename this macro to HANDLE_EA_EL3_FIRST_NS and set EA bit in scr_el3 only when switching to NS world. Note: I am unaware of any platform which traps errors originating in Secure world to EL3, if there is any such platform then it need to be explicitly implemented in TF-A Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: If58eb201d8fa792c16325c85c26056e9b409b750
95 lines
2.3 KiB
Makefile
95 lines
2.3 KiB
Makefile
#
|
|
# Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
# We don't use BL1 or BL2, so BL31 is the first image to execute
|
|
RESET_TO_BL31 := 1
|
|
# Only one core starts up at first
|
|
COLD_BOOT_SINGLE_CPU := 1
|
|
# We can choose where a core starts executing
|
|
PROGRAMMABLE_RESET_ADDRESS:= 1
|
|
|
|
# ARM coherency is managed in hardware
|
|
WARMBOOT_ENABLE_DCACHE_EARLY := 1
|
|
|
|
# A53 erratum for SoC. (enable them all)
|
|
ERRATA_A53_826319 := 1
|
|
ERRATA_A53_835769 := 1
|
|
ERRATA_A53_836870 := 1
|
|
ERRATA_A53_843419 := 1
|
|
ERRATA_A53_855873 := 1
|
|
ERRATA_A53_1530924 := 1
|
|
|
|
# A72 Erratum for SoC
|
|
ERRATA_A72_859971 := 1
|
|
ERRATA_A72_1319367 := 1
|
|
|
|
CRASH_REPORTING := 1
|
|
HANDLE_EA_EL3_FIRST_NS := 1
|
|
|
|
# Split out RO data into a non-executable section
|
|
SEPARATE_CODE_AND_RODATA := 1
|
|
|
|
# Generate a Position Independent Executable
|
|
ENABLE_PIE := 1
|
|
|
|
TI_16550_MDR_QUIRK := 1
|
|
$(eval $(call add_define,TI_16550_MDR_QUIRK))
|
|
|
|
K3_USART := 0
|
|
$(eval $(call add_define,K3_USART))
|
|
|
|
# Allow customizing the UART baud rate
|
|
K3_USART_BAUD := 115200
|
|
$(eval $(call add_define,K3_USART_BAUD))
|
|
|
|
# Enable system suspend modes
|
|
K3_PM_SYSTEM_SUSPEND := 0
|
|
$(eval $(call add_define,K3_PM_SYSTEM_SUSPEND))
|
|
|
|
# Libraries
|
|
include lib/xlat_tables_v2/xlat_tables.mk
|
|
|
|
PLAT_INCLUDES += \
|
|
-I${PLAT_PATH}/include \
|
|
-I${PLAT_PATH}/common/drivers/sec_proxy \
|
|
-I${PLAT_PATH}/common/drivers/ti_sci \
|
|
|
|
K3_CONSOLE_SOURCES += \
|
|
drivers/ti/uart/aarch64/16550_console.S \
|
|
${PLAT_PATH}/common/k3_console.c \
|
|
|
|
# Include GICv3 driver files
|
|
include drivers/arm/gic/v3/gicv3.mk
|
|
|
|
K3_GIC_SOURCES += \
|
|
${GICV3_SOURCES} \
|
|
plat/common/plat_gicv3.c \
|
|
${PLAT_PATH}/common/k3_gicv3.c \
|
|
|
|
K3_PSCI_SOURCES += \
|
|
plat/common/plat_psci_common.c \
|
|
${PLAT_PATH}/common/k3_psci.c \
|
|
|
|
K3_SEC_PROXY_SOURCES += \
|
|
${PLAT_PATH}/common/drivers/sec_proxy/sec_proxy.c \
|
|
|
|
K3_TI_SCI_SOURCES += \
|
|
${PLAT_PATH}/common/drivers/ti_sci/ti_sci.c \
|
|
|
|
PLAT_BL_COMMON_SOURCES += \
|
|
lib/cpus/aarch64/cortex_a53.S \
|
|
lib/cpus/aarch64/cortex_a72.S \
|
|
${XLAT_TABLES_LIB_SRCS} \
|
|
${K3_CONSOLE_SOURCES} \
|
|
|
|
BL31_SOURCES += \
|
|
${PLAT_PATH}/common/k3_bl31_setup.c \
|
|
${PLAT_PATH}/common/k3_helpers.S \
|
|
${PLAT_PATH}/common/k3_topology.c \
|
|
${K3_GIC_SOURCES} \
|
|
${K3_PSCI_SOURCES} \
|
|
${K3_SEC_PROXY_SOURCES} \
|
|
${K3_TI_SCI_SOURCES} \
|