1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2013-2023, Arm Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu 7*91f16700SchasingluluBL2_SOURCES += bl2/bl2_image_load_v2.c \ 8*91f16700Schasinglulu bl2/bl2_main.c \ 9*91f16700Schasinglulu bl2/${ARCH}/bl2_arch_setup.c \ 10*91f16700Schasinglulu lib/locks/exclusive/${ARCH}/spinlock.S \ 11*91f16700Schasinglulu plat/common/${ARCH}/platform_up_stack.S \ 12*91f16700Schasinglulu ${MBEDTLS_SOURCES} 13*91f16700Schasinglulu 14*91f16700Schasingluluifeq (${ARCH},aarch64) 15*91f16700SchasingluluBL2_SOURCES += common/aarch64/early_exceptions.S 16*91f16700Schasingluluendif 17*91f16700Schasinglulu 18*91f16700Schasingluluifneq ($(findstring gcc,$(notdir $(LD))),) 19*91f16700Schasinglulu BL2_LDFLAGS += -Wl,--sort-section=alignment 20*91f16700Schasingluluelse ifneq ($(findstring ld,$(notdir $(LD))),) 21*91f16700Schasinglulu BL2_LDFLAGS += --sort-section=alignment 22*91f16700Schasingluluendif 23*91f16700Schasinglulu 24*91f16700Schasingluluifeq (${ENABLE_RME},1) 25*91f16700Schasinglulu# Using RME, run BL2 at EL3 26*91f16700Schasingluluinclude lib/gpt_rme/gpt_rme.mk 27*91f16700Schasinglulu 28*91f16700SchasingluluBL2_SOURCES += bl2/${ARCH}/bl2_rme_entrypoint.S \ 29*91f16700Schasinglulu bl2/${ARCH}/bl2_el3_exceptions.S \ 30*91f16700Schasinglulu bl2/${ARCH}/bl2_run_next_image.S \ 31*91f16700Schasinglulu ${GPT_LIB_SRCS} 32*91f16700SchasingluluBL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S 33*91f16700Schasinglulu 34*91f16700Schasingluluelse ifeq (${RESET_TO_BL2},0) 35*91f16700Schasinglulu# Normal operation, no RME, no BL2 at EL3 36*91f16700SchasingluluBL2_SOURCES += bl2/${ARCH}/bl2_entrypoint.S 37*91f16700SchasingluluBL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S 38*91f16700Schasinglulu 39*91f16700Schasingluluelse 40*91f16700Schasinglulu# BL2 at EL3, no RME 41*91f16700SchasingluluBL2_SOURCES += bl2/${ARCH}/bl2_el3_entrypoint.S \ 42*91f16700Schasinglulu bl2/${ARCH}/bl2_el3_exceptions.S \ 43*91f16700Schasinglulu bl2/${ARCH}/bl2_run_next_image.S \ 44*91f16700Schasinglulu lib/cpus/${ARCH}/cpu_helpers.S 45*91f16700Schasinglulu 46*91f16700Schasingluluifeq (${ARCH},aarch64) 47*91f16700SchasingluluBL2_SOURCES += lib/cpus/aarch64/dsu_helpers.S 48*91f16700Schasingluluendif 49*91f16700Schasinglulu 50*91f16700SchasingluluBL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2_el3.ld.S 51*91f16700Schasingluluendif 52*91f16700Schasinglulu 53*91f16700Schasingluluifeq (${ENABLE_PMF},1) 54*91f16700SchasingluluBL2_SOURCES += lib/pmf/pmf_main.c 55*91f16700Schasingluluendif