xref: /aosp_15_r20/external/arm-trusted-firmware/bl2/bl2.mk (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park#
2*54fd6939SJiyong Park# Copyright (c) 2013-2021, Arm Limited and Contributors. All rights reserved.
3*54fd6939SJiyong Park#
4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park#
6*54fd6939SJiyong Park
7*54fd6939SJiyong ParkBL2_SOURCES		+=	bl2/bl2_image_load_v2.c			\
8*54fd6939SJiyong Park				bl2/bl2_main.c				\
9*54fd6939SJiyong Park				bl2/${ARCH}/bl2_arch_setup.c		\
10*54fd6939SJiyong Park				lib/locks/exclusive/${ARCH}/spinlock.S	\
11*54fd6939SJiyong Park				plat/common/${ARCH}/platform_up_stack.S	\
12*54fd6939SJiyong Park				${MBEDTLS_SOURCES}
13*54fd6939SJiyong Park
14*54fd6939SJiyong Parkifeq (${ARCH},aarch64)
15*54fd6939SJiyong ParkBL2_SOURCES		+=	common/aarch64/early_exceptions.S
16*54fd6939SJiyong Parkendif
17*54fd6939SJiyong Park
18*54fd6939SJiyong Parkifeq (${ENABLE_RME},1)
19*54fd6939SJiyong Park# Using RME, run BL2 at EL3
20*54fd6939SJiyong Parkinclude lib/gpt_rme/gpt_rme.mk
21*54fd6939SJiyong Park
22*54fd6939SJiyong ParkBL2_SOURCES		+=      bl2/${ARCH}/bl2_rme_entrypoint.S	\
23*54fd6939SJiyong Park				bl2/${ARCH}/bl2_el3_exceptions.S	\
24*54fd6939SJiyong Park				bl2/${ARCH}/bl2_run_next_image.S	\
25*54fd6939SJiyong Park				${GPT_LIB_SRCS}
26*54fd6939SJiyong ParkBL2_LINKERFILE		:=	bl2/bl2.ld.S
27*54fd6939SJiyong Park
28*54fd6939SJiyong Parkelse ifeq (${BL2_AT_EL3},0)
29*54fd6939SJiyong Park# Normal operation, no RME, no BL2 at EL3
30*54fd6939SJiyong ParkBL2_SOURCES		+=	bl2/${ARCH}/bl2_entrypoint.S
31*54fd6939SJiyong ParkBL2_LINKERFILE		:=	bl2/bl2.ld.S
32*54fd6939SJiyong Park
33*54fd6939SJiyong Parkelse
34*54fd6939SJiyong Park# BL2 at EL3, no RME
35*54fd6939SJiyong ParkBL2_SOURCES		+=	bl2/${ARCH}/bl2_el3_entrypoint.S	\
36*54fd6939SJiyong Park				bl2/${ARCH}/bl2_el3_exceptions.S	\
37*54fd6939SJiyong Park				bl2/${ARCH}/bl2_run_next_image.S        \
38*54fd6939SJiyong Park				lib/cpus/${ARCH}/cpu_helpers.S		\
39*54fd6939SJiyong Park				lib/cpus/errata_report.c
40*54fd6939SJiyong Park
41*54fd6939SJiyong Parkifeq (${DISABLE_MTPMU},1)
42*54fd6939SJiyong ParkBL2_SOURCES		+=	lib/extensions/mtpmu/${ARCH}/mtpmu.S
43*54fd6939SJiyong Parkendif
44*54fd6939SJiyong Park
45*54fd6939SJiyong Parkifeq (${ARCH},aarch64)
46*54fd6939SJiyong ParkBL2_SOURCES		+=	lib/cpus/aarch64/dsu_helpers.S
47*54fd6939SJiyong Parkendif
48*54fd6939SJiyong Park
49*54fd6939SJiyong ParkBL2_LINKERFILE		:=	bl2/bl2_el3.ld.S
50*54fd6939SJiyong Parkendif
51