blob: 72376f757bcf5cae991fcd6206bd008e7d77f755 [file] [log] [blame]
#
# Copyright (c) 2021-2023, ARM Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
ifneq (${ARCH},aarch64)
$(error "Error: SPMD is only supported on aarch64.")
endif
ifneq (${ENABLE_SME_FOR_NS},0)
$(error "Error: SPMD is not compatible with ENABLE_SME_FOR_NS")
endif
SPMD_SOURCES += $(addprefix services/std_svc/spmd/, \
${ARCH}/spmd_helpers.S \
spmd_pm.c \
spmd_main.c \
spmd_logical_sp.c)
# Specify platform specific SPMD logical partition implementation.
SPMD_LP_SOURCES := $(wildcard $(addprefix ${PLAT_DIR}/, \
${PLAT}_spmd_logical_sp*.c))
ifeq (${ENABLE_SPMD_LP}, 1)
ifneq ($(wildcard $(SPMD_LP_SOURCES)),)
SPMD_SOURCES += $(SPMD_LP_SOURCES)
endif
endif
# Let the top-level Makefile know that we intend to include a BL32 image
NEED_BL32 := yes
# Enable dynamic memory mapping
# The SPMD component maps the SPMC DTB within BL31 virtual space.
PLAT_XLAT_TABLES_DYNAMIC := 1
$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC))