15096aeb2SMarc Bonnici# 25096aeb2SMarc Bonnici# Copyright (c) 2022, ARM Limited and Contributors. All rights reserved. 35096aeb2SMarc Bonnici# 45096aeb2SMarc Bonnici# SPDX-License-Identifier: BSD-3-Clause 55096aeb2SMarc Bonnici# 65096aeb2SMarc Bonnici 75096aeb2SMarc Bonniciifneq (${ARCH},aarch64) 85096aeb2SMarc Bonnici $(error "Error: SPMC is only supported on aarch64.") 95096aeb2SMarc Bonniciendif 105096aeb2SMarc Bonnici 115096aeb2SMarc BonniciSPMC_SOURCES := $(addprefix services/std_svc/spm/el3_spmc/, \ 125096aeb2SMarc Bonnici spmc_main.c \ 137affa25cSMarc Bonnici spmc_setup.c \ 1459bd2ad8SMarc Bonnici logical_sp.c \ 15e0b1a6d5SMarc Bonnici spmc_pm.c \ 16e0b1a6d5SMarc Bonnici spmc_shared_mem.c) 175096aeb2SMarc Bonnici 18a34ccd4cSMarc Bonnici# Specify platform specific logical partition implementation. 19a34ccd4cSMarc BonniciSPMC_LP_SOURCES := $(addprefix ${PLAT_DIR}/, \ 20a34ccd4cSMarc Bonnici ${PLAT}_el3_spmc_logical_sp.c) 21a34ccd4cSMarc Bonnici 22a34ccd4cSMarc Bonnici 23*555677feSJens Wiklanderifneq ($(wildcard $(SPMC_LP_SOURCES)),) 24a34ccd4cSMarc BonniciSPMC_SOURCES += $(SPMC_LP_SOURCES) 25*555677feSJens Wiklanderendif 26a34ccd4cSMarc Bonnici 275096aeb2SMarc Bonnici# Let the top-level Makefile know that we intend to include a BL32 image 285096aeb2SMarc BonniciNEED_BL32 := yes 294a8bfdb9SAchin Gupta 304a8bfdb9SAchin Guptaifndef BL32 314a8bfdb9SAchin Gupta# The SPMC is paired with a Test Secure Payload source and we intend to 324a8bfdb9SAchin Gupta# build the Test Secure Payload if no other image has been provided 334a8bfdb9SAchin Gupta# for BL32. 344a8bfdb9SAchin Gupta# 354a8bfdb9SAchin Gupta# In cases where an associated Secure Payload lies outside this build 364a8bfdb9SAchin Gupta# system/source tree, the dispatcher Makefile can either invoke an external 374a8bfdb9SAchin Gupta# build command or assume it is pre-built. 384a8bfdb9SAchin Gupta 394a8bfdb9SAchin GuptaBL32_ROOT := bl32/tsp 404a8bfdb9SAchin Gupta 414a8bfdb9SAchin Gupta# Conditionally include SP's Makefile. The assumption is that the TSP's build 424a8bfdb9SAchin Gupta# system is compatible with that of Trusted Firmware, and it'll add and populate 434a8bfdb9SAchin Gupta# necessary build targets and variables. 444a8bfdb9SAchin Gupta 454a8bfdb9SAchin Guptainclude ${BL32_ROOT}/tsp.mk 464a8bfdb9SAchin Guptaendif 47