blob: 72376f757bcf5cae991fcd6206bd008e7d77f755 [file] [log] [blame]
Achin Gupta86f23532019-10-11 15:41:16 +01001#
Jayanth Dodderi Chidanand605419a2023-03-06 23:56:14 +00002# Copyright (c) 2021-2023, ARM Limited and Contributors. All rights reserved.
Achin Gupta86f23532019-10-11 15:41:16 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifneq (${ARCH},aarch64)
johpow019baade32021-07-08 14:14:00 -05008 $(error "Error: SPMD is only supported on aarch64.")
9endif
10
Jayanth Dodderi Chidanand605419a2023-03-06 23:56:14 +000011ifneq (${ENABLE_SME_FOR_NS},0)
johpow019baade32021-07-08 14:14:00 -050012 $(error "Error: SPMD is not compatible with ENABLE_SME_FOR_NS")
Achin Gupta86f23532019-10-11 15:41:16 +010013endif
14
15SPMD_SOURCES += $(addprefix services/std_svc/spmd/, \
16 ${ARCH}/spmd_helpers.S \
Olivier Deprez9afca122019-10-28 09:15:52 +000017 spmd_pm.c \
Raghu Krishnamurthy7f046c12023-02-25 13:26:10 -080018 spmd_main.c \
19 spmd_logical_sp.c)
Achin Gupta86f23532019-10-11 15:41:16 +010020
Raghu Krishnamurthy2a8361d2023-03-03 19:30:25 -080021# Specify platform specific SPMD logical partition implementation.
22SPMD_LP_SOURCES := $(wildcard $(addprefix ${PLAT_DIR}/, \
23 ${PLAT}_spmd_logical_sp*.c))
24
25ifeq (${ENABLE_SPMD_LP}, 1)
26ifneq ($(wildcard $(SPMD_LP_SOURCES)),)
27SPMD_SOURCES += $(SPMD_LP_SOURCES)
28endif
29endif
30
Achin Gupta86f23532019-10-11 15:41:16 +010031# Let the top-level Makefile know that we intend to include a BL32 image
32NEED_BL32 := yes
33
34# Enable dynamic memory mapping
35# The SPMD component maps the SPMC DTB within BL31 virtual space.
36PLAT_XLAT_TABLES_DYNAMIC := 1
37$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC))