blob: 1457360a530091b6945879d1a6bef883d92ee08f [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
Dan Handley4fd2f5c2014-08-04 11:41:20 +01008SPD_INCLUDES := -Iinclude/bl32/tsp
Achin Gupta375f5382014-02-18 18:12:48 +00009
Dan Handley176e7b42014-04-15 18:20:09 +010010SPD_SOURCES := services/spd/tspd/tspd_common.c \
11 services/spd/tspd/tspd_helpers.S \
12 services/spd/tspd/tspd_main.c \
13 services/spd/tspd/tspd_pm.c
Achin Gupta375f5382014-02-18 18:12:48 +000014
15# This dispatcher is paired with a Test Secure Payload source and we intend to
16# build the Test Secure Payload along with this dispatcher.
17#
18# In cases where an associated Secure Payload lies outside this build
19# system/source tree, the the dispatcher Makefile can either invoke an external
20# build command or assume it pre-built
21
22BL32_ROOT := bl32/tsp
23
24# Include SP's Makefile. The assumption is that the TSP's build system is
25# compatible with that of Trusted Firmware, and it'll add and populate necessary
26# build targets and variables
27include ${BL32_ROOT}/tsp.mk
28
29# Let the top-level Makefile know that we intend to build the SP from source
30NEED_BL32 := yes
Soby Mathew47903c02015-01-13 15:48:26 +000031
32# Flag used to enable routing of non-secure interrupts to EL3 when they are
33# generated while the code is executing in S-EL1/0.
Soby Mathewbec98512015-09-03 18:29:38 +010034TSP_NS_INTR_ASYNC_PREEMPT := 0
35
Jeenu Viswambharan2f40f322018-01-11 14:30:22 +000036ifeq ($(EL3_EXCEPTION_HANDLING),1)
37ifeq ($(TSP_NS_INTR_ASYNC_PREEMPT),0)
38$(error When EL3_EXCEPTION_HANDLING=1, TSP_NS_INTR_ASYNC_PREEMPT must also be 1)
39endif
40endif
41
Soby Mathewbec98512015-09-03 18:29:38 +010042$(eval $(call assert_boolean,TSP_NS_INTR_ASYNC_PREEMPT))
43$(eval $(call add_define,TSP_NS_INTR_ASYNC_PREEMPT))