xref: /rk3399_ARM-atf/services/spd/tspd/tspd.mk (revision 51faada71a219a8b94cd8d8e423f0f22e9da4d8f)
1#
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
32SPD_INCLUDES		:=	-Iinclude/bl32/tsp
33
34SPD_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
38
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
55
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.
58TSP_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
69
70$(eval $(call assert_boolean,TSP_NS_INTR_ASYNC_PREEMPT))
71$(eval $(call add_define,TSP_NS_INTR_ASYNC_PREEMPT))
72