blob: 850d826683e0aeb4ef4df494cc37e33bc42ab7a3 [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001#
Chris Kay523e8642023-12-04 12:03:51 +00002# Copyright (c) 2013-2024, Arm Limited and Contributors. All rights reserved.
Achin Gupta4f6ad662013-10-25 09:08:21 +01003#
dp-armfa3cf0b2017-05-03 09:38:09 +01004# SPDX-License-Identifier: BSD-3-Clause
Achin Gupta4f6ad662013-10-25 09:08:21 +01005#
6
Antonio Nino Diaz6e4b0832019-01-31 10:48:47 +00007BL2_SOURCES += bl2/bl2_image_load_v2.c \
8 bl2/bl2_main.c \
Yatharth Kochardafb2472016-06-30 14:52:12 +01009 bl2/${ARCH}/bl2_arch_setup.c \
dp-arm230011c2017-03-07 11:02:47 +000010 lib/locks/exclusive/${ARCH}/spinlock.S \
Roberto Vargas9f412482018-01-16 10:35:23 +000011 plat/common/${ARCH}/platform_up_stack.S \
Roberto Vargas502290b2018-05-08 10:27:10 +010012 ${MBEDTLS_SOURCES}
Yatharth Kochardafb2472016-06-30 14:52:12 +010013
14ifeq (${ARCH},aarch64)
15BL2_SOURCES += common/aarch64/early_exceptions.S
16endif
Achin Gupta4f6ad662013-10-25 09:08:21 +010017
Chris Kaycfba6452023-12-04 09:55:50 +000018ifeq ($($(ARCH)-ld-id),gnu-gcc)
Chris Kay6ac4a532023-01-26 18:31:52 +000019 BL2_LDFLAGS += -Wl,--sort-section=alignment
Chris Kaycfba6452023-12-04 09:55:50 +000020else ifneq ($(filter llvm-lld gnu-ld,$($(ARCH)-ld-id)),)
Chris Kay6ac4a532023-01-26 18:31:52 +000021 BL2_LDFLAGS += --sort-section=alignment
22endif
23
Zelalem Aweke688fbf72021-07-09 11:37:10 -050024ifeq (${ENABLE_RME},1)
25# Using RME, run BL2 at EL3
johpow019d134022021-06-16 17:57:28 -050026include lib/gpt_rme/gpt_rme.mk
Zelalem Aweke8e2e24b2021-07-13 14:05:20 -050027
Zelalem Aweke688fbf72021-07-09 11:37:10 -050028BL2_SOURCES += bl2/${ARCH}/bl2_rme_entrypoint.S \
29 bl2/${ARCH}/bl2_el3_exceptions.S \
30 bl2/${ARCH}/bl2_run_next_image.S \
Zelalem Aweke8e2e24b2021-07-13 14:05:20 -050031 ${GPT_LIB_SRCS}
Chris Kay68d28362023-01-16 16:53:45 +000032BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
Zelalem Aweke688fbf72021-07-09 11:37:10 -050033
Arvind Ram Prakash11b9b492022-11-22 14:41:00 -060034else ifeq (${RESET_TO_BL2},0)
Zelalem Aweke688fbf72021-07-09 11:37:10 -050035# Normal operation, no RME, no BL2 at EL3
Roberto Vargase0e99462017-10-30 14:43:43 +000036BL2_SOURCES += bl2/${ARCH}/bl2_entrypoint.S
Chris Kay68d28362023-01-16 16:53:45 +000037BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
Roberto Vargase0e99462017-10-30 14:43:43 +000038
39else
Zelalem Aweke688fbf72021-07-09 11:37:10 -050040# BL2 at EL3, no RME
Roberto Vargase0e99462017-10-30 14:43:43 +000041BL2_SOURCES += bl2/${ARCH}/bl2_el3_entrypoint.S \
42 bl2/${ARCH}/bl2_el3_exceptions.S \
Zelalem Aweke688fbf72021-07-09 11:37:10 -050043 bl2/${ARCH}/bl2_run_next_image.S \
Boyan Karatotev06236c92023-01-25 18:50:10 +000044 lib/cpus/${ARCH}/cpu_helpers.S
John Tsichritzis4daa1de2018-07-23 09:11:59 +010045
46ifeq (${ARCH},aarch64)
47BL2_SOURCES += lib/cpus/aarch64/dsu_helpers.S
48endif
49
Chris Kay68d28362023-01-16 16:53:45 +000050BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2_el3.ld.S
Roberto Vargase0e99462017-10-30 14:43:43 +000051endif
thagon01-arm6805e8d2023-07-12 10:43:58 -050052
53ifeq (${ENABLE_PMF},1)
54BL2_SOURCES += lib/pmf/pmf_main.c
Chris Kaycfba6452023-12-04 09:55:50 +000055endif