blob: ede25047729fc6c002513024f1cc8b7fc6c956c5 [file] [log] [blame]
Achin Gupta375f5382014-02-18 18:12:48 +00001#
2# Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are met:
6#
7# Redistributions of source code must retain the above copyright notice, this
8# list of conditions and the following disclaimer.
9#
10# Redistributions in binary form must reproduce the above copyright notice,
11# this list of conditions and the following disclaimer in the documentation
12# and/or other materials provided with the distribution.
13#
14# Neither the name of ARM nor the names of its contributors may be used
15# to endorse or promote products derived from this software without specific
16# prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28# POSSIBILITY OF SUCH DAMAGE.
29#
30
31TSPD_DIR := services/spd/tspd
Dan Handley4fd2f5c2014-08-04 11:41:20 +010032SPD_INCLUDES := -Iinclude/bl32/tsp
Achin Gupta375f5382014-02-18 18:12:48 +000033
Dan Handley176e7b42014-04-15 18:20:09 +010034SPD_SOURCES := services/spd/tspd/tspd_common.c \
35 services/spd/tspd/tspd_helpers.S \
36 services/spd/tspd/tspd_main.c \
37 services/spd/tspd/tspd_pm.c
Achin Gupta375f5382014-02-18 18:12:48 +000038
39# This dispatcher is paired with a Test Secure Payload source and we intend to
40# build the Test Secure Payload along with this dispatcher.
41#
42# In cases where an associated Secure Payload lies outside this build
43# system/source tree, the the dispatcher Makefile can either invoke an external
44# build command or assume it pre-built
45
46BL32_ROOT := bl32/tsp
47
48# Include SP's Makefile. The assumption is that the TSP's build system is
49# compatible with that of Trusted Firmware, and it'll add and populate necessary
50# build targets and variables
51include ${BL32_ROOT}/tsp.mk
52
53# Let the top-level Makefile know that we intend to build the SP from source
54NEED_BL32 := yes
Soby Mathew47903c02015-01-13 15:48:26 +000055
56# Flag used to enable routing of non-secure interrupts to EL3 when they are
57# generated while the code is executing in S-EL1/0.
Soby Mathewbec98512015-09-03 18:29:38 +010058TSP_NS_INTR_ASYNC_PREEMPT := 0
59
60# If TSPD_ROUTE_IRQ_TO_EL3 build flag is defined, use it to define value for
61# TSP_NS_INTR_ASYNC_PREEMPT for backward compatibility.
62ifdef TSPD_ROUTE_IRQ_TO_EL3
63ifeq (${ERROR_DEPRECATED},1)
64$(error "TSPD_ROUTE_IRQ_TO_EL3 is deprecated. Please use the new build flag TSP_NS_INTR_ASYNC_PREEMPT")
65endif
66$(warning "TSPD_ROUTE_IRQ_TO_EL3 is deprecated. Please use the new build flag TSP_NS_INTR_ASYNC_PREEMPT")
67TSP_NS_INTR_ASYNC_PREEMPT := ${TSPD_ROUTE_IRQ_TO_EL3}
68endif
Soby Mathew47903c02015-01-13 15:48:26 +000069
Soby Mathewbec98512015-09-03 18:29:38 +010070$(eval $(call assert_boolean,TSP_NS_INTR_ASYNC_PREEMPT))
71$(eval $(call add_define,TSP_NS_INTR_ASYNC_PREEMPT))