1#
2# Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7TSPD_DIR		:=	services/spd/tspd
8
9ifeq (${ERROR_DEPRECATED},0)
10SPD_INCLUDES		:=	-Iinclude/bl32/tsp
11endif
12
13SPD_SOURCES		:=	services/spd/tspd/tspd_common.c		\
14				services/spd/tspd/tspd_helpers.S	\
15				services/spd/tspd/tspd_main.c		\
16				services/spd/tspd/tspd_pm.c
17
18# This dispatcher is paired with a Test Secure Payload source and we intend to
19# build the Test Secure Payload along with this dispatcher.
20#
21# In cases where an associated Secure Payload lies outside this build
22# system/source tree, the the dispatcher Makefile can either invoke an external
23# build command or assume it pre-built
24
25BL32_ROOT		:=	bl32/tsp
26
27# Include SP's Makefile. The assumption is that the TSP's build system is
28# compatible with that of Trusted Firmware, and it'll add and populate necessary
29# build targets and variables
30include ${BL32_ROOT}/tsp.mk
31
32# Let the top-level Makefile know that we intend to build the SP from source
33NEED_BL32		:=	yes
34
35# Flag used to enable routing of non-secure interrupts to EL3 when they are
36# generated while the code is executing in S-EL1/0.
37TSP_NS_INTR_ASYNC_PREEMPT	:=	0
38
39ifeq ($(EL3_EXCEPTION_HANDLING),1)
40ifeq ($(TSP_NS_INTR_ASYNC_PREEMPT),0)
41$(error When EL3_EXCEPTION_HANDLING=1, TSP_NS_INTR_ASYNC_PREEMPT must also be 1)
42endif
43endif
44
45$(eval $(call assert_boolean,TSP_NS_INTR_ASYNC_PREEMPT))
46$(eval $(call add_define,TSP_NS_INTR_ASYNC_PREEMPT))
47