1bdd2596dSAchin Gupta# 245007acdSJayanth Dodderi Chidanand# Copyright (c) 2021-2023, ARM Limited and Contributors. All rights reserved. 3bdd2596dSAchin Gupta# 4bdd2596dSAchin Gupta# SPDX-License-Identifier: BSD-3-Clause 5bdd2596dSAchin Gupta# 6bdd2596dSAchin Gupta 7bdd2596dSAchin Guptaifneq (${ARCH},aarch64) 8bdd2596dSAchin Gupta $(error "Error: SPMD is only supported on aarch64.") 9bdd2596dSAchin Guptaendif 10bdd2596dSAchin Gupta 1145007acdSJayanth Dodderi Chidanandifneq (${ENABLE_SME_FOR_NS},0) 12dc78e62dSjohpow01 $(error "Error: SPMD is not compatible with ENABLE_SME_FOR_NS") 13dc78e62dSjohpow01endif 14dc78e62dSjohpow01 15bdd2596dSAchin GuptaSPMD_SOURCES += $(addprefix services/std_svc/spmd/, \ 16bdd2596dSAchin Gupta ${ARCH}/spmd_helpers.S \ 17a334c4e6SOlivier Deprez spmd_pm.c \ 18890b5088SRaghu Krishnamurthy spmd_main.c \ 19890b5088SRaghu Krishnamurthy spmd_logical_sp.c) 20bdd2596dSAchin Gupta 21*5cf311f3SRaghu Krishnamurthy# Specify platform specific SPMD logical partition implementation. 22*5cf311f3SRaghu KrishnamurthySPMD_LP_SOURCES := $(wildcard $(addprefix ${PLAT_DIR}/, \ 23*5cf311f3SRaghu Krishnamurthy ${PLAT}_spmd_logical_sp*.c)) 24*5cf311f3SRaghu Krishnamurthy 25*5cf311f3SRaghu Krishnamurthyifeq (${ENABLE_SPMD_LP}, 1) 26*5cf311f3SRaghu Krishnamurthyifneq ($(wildcard $(SPMD_LP_SOURCES)),) 27*5cf311f3SRaghu KrishnamurthySPMD_SOURCES += $(SPMD_LP_SOURCES) 28*5cf311f3SRaghu Krishnamurthyendif 29*5cf311f3SRaghu Krishnamurthyendif 30*5cf311f3SRaghu Krishnamurthy 31bdd2596dSAchin Gupta# Let the top-level Makefile know that we intend to include a BL32 image 32bdd2596dSAchin GuptaNEED_BL32 := yes 33bdd2596dSAchin Gupta 34bdd2596dSAchin Gupta# Enable dynamic memory mapping 35bdd2596dSAchin Gupta# The SPMD component maps the SPMC DTB within BL31 virtual space. 36bdd2596dSAchin GuptaPLAT_XLAT_TABLES_DYNAMIC := 1 37bdd2596dSAchin Gupta$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC)) 38