xref: /rk3399_ARM-atf/services/std_svc/spmd/spmd.mk (revision 5cf311f3a41fc114289265305a6254a8fb412c0e)
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