1# 2# Copyright (c) 2022, ARM Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7ifneq (${ARCH},aarch64) 8 $(error "Error: SPMC is only supported on aarch64.") 9endif 10 11SPMC_SOURCES := $(addprefix services/std_svc/spm/el3_spmc/, \ 12 spmc_main.c \ 13 spmc_setup.c \ 14 logical_sp.c \ 15 spmc_pm.c \ 16 spmc_shared_mem.c) 17 18# Specify platform specific logical partition implementation. 19SPMC_LP_SOURCES := $(addprefix ${PLAT_DIR}/, \ 20 ${PLAT}_el3_spmc_logical_sp.c) 21 22 23SPMC_SOURCES += $(SPMC_LP_SOURCES) 24 25# Let the top-level Makefile know that we intend to include a BL32 image 26NEED_BL32 := yes 27 28ifndef BL32 29# The SPMC is paired with a Test Secure Payload source and we intend to 30# build the Test Secure Payload if no other image has been provided 31# for BL32. 32# 33# In cases where an associated Secure Payload lies outside this build 34# system/source tree, the dispatcher Makefile can either invoke an external 35# build command or assume it is pre-built. 36 37BL32_ROOT := bl32/tsp 38 39# Conditionally include SP's Makefile. The assumption is that the TSP's build 40# system is compatible with that of Trusted Firmware, and it'll add and populate 41# necessary build targets and variables. 42 43include ${BL32_ROOT}/tsp.mk 44endif 45