blob: b70a3fbed703ae9d06daf91daf24132d9de4f81b [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001#
Chris Kay82274932023-01-16 16:53:45 +00002# Copyright (c) 2013-2023, Arm Limited and Contributors. All rights reserved.
Achin Gupta4f6ad662013-10-25 09:08:21 +01003#
dp-arm82cb2c12017-05-03 09:38:09 +01004# SPDX-License-Identifier: BSD-3-Clause
Achin Gupta4f6ad662013-10-25 09:08:21 +01005#
6
Antonio Nino Diaz9d93fc22019-01-31 10:48:47 +00007BL2_SOURCES += bl2/bl2_image_load_v2.c \
8 bl2/bl2_main.c \
Yatharth Kochard48c12e2016-06-30 14:52:12 +01009 bl2/${ARCH}/bl2_arch_setup.c \
dp-arm75311202017-03-07 11:02:47 +000010 lib/locks/exclusive/${ARCH}/spinlock.S \
Roberto Vargas76d26732018-01-16 10:35:23 +000011 plat/common/${ARCH}/platform_up_stack.S \
Roberto Vargas180c4bc2018-05-08 10:27:10 +010012 ${MBEDTLS_SOURCES}
Yatharth Kochard48c12e2016-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 Kaycef66c32023-01-26 18:31:52 +000018ifneq ($(findstring gcc,$(notdir $(LD))),)
19 BL2_LDFLAGS += -Wl,--sort-section=alignment
20else ifneq ($(findstring ld,$(notdir $(LD))),)
21 BL2_LDFLAGS += --sort-section=alignment
22endif
23
Zelalem Aweke6c09af92021-07-09 11:37:10 -050024ifeq (${ENABLE_RME},1)
25# Using RME, run BL2 at EL3
johpow01f19dc622021-06-16 17:57:28 -050026include lib/gpt_rme/gpt_rme.mk
Zelalem Aweke18390122021-07-13 14:05:20 -050027
Zelalem Aweke6c09af92021-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 Aweke18390122021-07-13 14:05:20 -050031 ${GPT_LIB_SRCS}
Chris Kay82274932023-01-16 16:53:45 +000032BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
Zelalem Aweke6c09af92021-07-09 11:37:10 -050033
Arvind Ram Prakash42d4d3b2022-11-22 14:41:00 -060034else ifeq (${RESET_TO_BL2},0)
Zelalem Aweke6c09af92021-07-09 11:37:10 -050035# Normal operation, no RME, no BL2 at EL3
Roberto Vargasb1d27b42017-10-30 14:43:43 +000036BL2_SOURCES += bl2/${ARCH}/bl2_entrypoint.S
Chris Kay82274932023-01-16 16:53:45 +000037BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
Roberto Vargasb1d27b42017-10-30 14:43:43 +000038
39else
Zelalem Aweke6c09af92021-07-09 11:37:10 -050040# BL2 at EL3, no RME
Roberto Vargasb1d27b42017-10-30 14:43:43 +000041BL2_SOURCES += bl2/${ARCH}/bl2_el3_entrypoint.S \
42 bl2/${ARCH}/bl2_el3_exceptions.S \
Zelalem Aweke6c09af92021-07-09 11:37:10 -050043 bl2/${ARCH}/bl2_run_next_image.S \
Boyan Karatotevdd9fae12023-01-25 18:50:10 +000044 lib/cpus/${ARCH}/cpu_helpers.S
John Tsichritzis8a677182018-07-23 09:11:59 +010045
46ifeq (${ARCH},aarch64)
47BL2_SOURCES += lib/cpus/aarch64/dsu_helpers.S
48endif
49
Chris Kay82274932023-01-16 16:53:45 +000050BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2_el3.ld.S
Roberto Vargasb1d27b42017-10-30 14:43:43 +000051endif
thagon01-armed8f06d2023-07-12 10:43:58 -050052
53ifeq (${ENABLE_PMF},1)
54BL2_SOURCES += lib/pmf/pmf_main.c
55endif