mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2026-07-06 14:31:24 +00:00
Granule Protection Tables (GPT) library support is enabled only when ENABLE_RMM is set (previously this build option was ENABLE_RME). Since RME related support is now enabled using feature detection option ENABLE_FEAT_RME, this patch moves GPT support under ENABLE_FEAT_RME. This change brings in below benefits: - single TF-A build that works for RME and non-RME systems, when build with ENABLE_FEAT_RME=2 (FEAT_STATE_CHECK) - RMM loading is optional on RME systems - SiP calls that leverages RME features to change the PAS of a memory range from non-secure to secure is supported without need to enable Realm PAS or RMM. - FIRME Granule Management Interface (GMI) ABIs that handles FEAT_RME_GPC2/FEAT_RME_GDI can be enabled without need to enable RMM Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I88d9d4e0491af2b4ae0307c018f2d4a71ee6693f
60 lines
1.4 KiB
Makefile
60 lines
1.4 KiB
Makefile
#
|
|
# Copyright (c) 2013-2025, Arm Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
BL2_SOURCES += bl2/bl2_image_load_v2.c \
|
|
bl2/bl2_main.c \
|
|
bl2/${ARCH}/bl2_arch_setup.c \
|
|
plat/common/${ARCH}/platform_up_stack.S \
|
|
${MBEDTLS_SOURCES}
|
|
|
|
ifeq (${ARCH},aarch64)
|
|
BL2_SOURCES += common/aarch64/early_exceptions.S
|
|
endif
|
|
|
|
ifneq (${ENABLE_FEAT_RME},0)
|
|
include lib/gpt_rme/gpt_rme.mk
|
|
|
|
BL2_SOURCES += ${GPT_LIB_SRCS}
|
|
endif
|
|
|
|
ifeq (${BL2_RUNS_AT_EL3},1)
|
|
BL2_SOURCES += bl2/${ARCH}/bl2_el3_entrypoint.S \
|
|
bl2/${ARCH}/bl2_el3_exceptions.S \
|
|
bl2/${ARCH}/bl2_run_next_image.S
|
|
|
|
BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2_el3.ld.S
|
|
else
|
|
# Normal operation, no RME, no BL2 at EL3
|
|
BL2_SOURCES += bl2/${ARCH}/bl2_entrypoint.S
|
|
BL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
|
|
endif
|
|
|
|
ifeq (${RESET_TO_BL2},1)
|
|
# BL2 at EL3, no RME
|
|
BL2_SOURCES += lib/cpus/${ARCH}/cpu_helpers.S
|
|
endif
|
|
|
|
ifeq (${ENABLE_PMF},1)
|
|
BL2_SOURCES += lib/pmf/pmf_main.c
|
|
endif
|
|
|
|
# CRYPTO_SUPPORT
|
|
NEED_AUTH := $(if $(filter 1,$(TRUSTED_BOARD_BOOT)),1,)
|
|
NEED_HASH := $(if $(filter 1,$(MEASURED_BOOT) $(DRTM_SUPPORT)),1,)
|
|
$(eval $(call set_crypto_support,NEED_AUTH,NEED_HASH))
|
|
|
|
# BL2_CPPFLAGS
|
|
$(eval BL2_CPPFLAGS += $(call make_defines, \
|
|
$(sort \
|
|
CRYPTO_SUPPORT \
|
|
)))
|
|
|
|
# Numeric_Flags
|
|
$(eval $(call assert_numerics,\
|
|
$(sort \
|
|
CRYPTO_SUPPORT \
|
|
)))
|