blob: bda8338836e768ec3a2e285da86f63a1cbae6e85 [file] [log] [blame]
Achin Gupta375f5382014-02-18 18:12:48 +00001#
Jeenu Viswambharan2f40f322018-01-11 14:30:22 +00002# Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
Achin Gupta375f5382014-02-18 18:12:48 +00003#
dp-armfa3cf0b2017-05-03 09:38:09 +01004# SPDX-License-Identifier: BSD-3-Clause
Achin Gupta375f5382014-02-18 18:12:48 +00005#
6
7TSPD_DIR := services/spd/tspd
Antonio Nino Diaz31a157f2019-02-11 11:57:57 +00008
9ifeq (${ERROR_DEPRECATED},0)
Dan Handley4fd2f5c2014-08-04 11:41:20 +010010SPD_INCLUDES := -Iinclude/bl32/tsp
Antonio Nino Diaz31a157f2019-02-11 11:57:57 +000011endif
Achin Gupta375f5382014-02-18 18:12:48 +000012
Dan Handley176e7b42014-04-15 18:20:09 +010013SPD_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
Achin Gupta375f5382014-02-18 18:12:48 +000017
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
Soby Mathew47903c02015-01-13 15:48:26 +000034
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.
Soby Mathewbec98512015-09-03 18:29:38 +010037TSP_NS_INTR_ASYNC_PREEMPT := 0
38
Jeenu Viswambharan2f40f322018-01-11 14:30:22 +000039ifeq ($(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
Soby Mathewbec98512015-09-03 18:29:38 +010045$(eval $(call assert_boolean,TSP_NS_INTR_ASYNC_PREEMPT))
46$(eval $(call add_define,TSP_NS_INTR_ASYNC_PREEMPT))