blob: 6442af0496825c024a9367688415b2257b43c849 [file] [log] [blame]
Marc Bonnici8e1a7552021-12-01 17:57:04 +00001#
2# Copyright (c) 2022, ARM Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifneq (${ARCH},aarch64)
8 $(error "Error: SPMC is only supported on aarch64.")
9endif
10
11SPMC_SOURCES := $(addprefix services/std_svc/spm/el3_spmc/, \
12 spmc_main.c \
Marc Bonnici9a297042022-02-14 17:06:09 +000013 spmc_setup.c \
Marc Bonnici25f4b542022-04-12 17:18:13 +010014 logical_sp.c \
Marc Bonnici9f23c8d2021-10-01 16:06:04 +010015 spmc_pm.c \
16 spmc_shared_mem.c)
Marc Bonnici8e1a7552021-12-01 17:57:04 +000017
Marc Bonnici35248f12021-08-19 14:42:19 +010018# Specify platform specific logical partition implementation.
19SPMC_LP_SOURCES := $(addprefix ${PLAT_DIR}/, \
20 ${PLAT}_el3_spmc_logical_sp.c)
21
22
Jens Wiklanderb7f92b52022-05-19 15:17:43 +020023ifneq ($(wildcard $(SPMC_LP_SOURCES)),)
Marc Bonnici35248f12021-08-19 14:42:19 +010024SPMC_SOURCES += $(SPMC_LP_SOURCES)
Jens Wiklanderb7f92b52022-05-19 15:17:43 +020025endif
Marc Bonnici35248f12021-08-19 14:42:19 +010026
Marc Bonnici8e1a7552021-12-01 17:57:04 +000027# Let the top-level Makefile know that we intend to include a BL32 image
28NEED_BL32 := yes
Achin Gupta6b4ec242021-10-04 20:13:36 +010029
30ifndef BL32
31# The SPMC is paired with a Test Secure Payload source and we intend to
32# build the Test Secure Payload if no other image has been provided
33# for BL32.
34#
35# In cases where an associated Secure Payload lies outside this build
36# system/source tree, the dispatcher Makefile can either invoke an external
37# build command or assume it is pre-built.
38
39BL32_ROOT := bl32/tsp
40
41# Conditionally include SP's Makefile. The assumption is that the TSP's build
42# system is compatible with that of Trusted Firmware, and it'll add and populate
43# necessary build targets and variables.
44
45include ${BL32_ROOT}/tsp.mk
46endif