summaryrefslogtreecommitdiff
path: root/services/spd/opteed/opteed.mk
blob: f394744e90ce8f02c94881218c972418183f6d0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#
# Copyright (c) 2013-2023, ARM Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

OPTEED_DIR		:=	services/spd/opteed
SPD_INCLUDES		:=

SPD_SOURCES		:=	services/spd/opteed/opteed_common.c	\
				services/spd/opteed/opteed_helpers.S	\
				services/spd/opteed/opteed_main.c	\
				services/spd/opteed/opteed_pm.c

NEED_BL32		:=	yes

# required so that optee code can control access to the timer registers
NS_TIMER_SWITCH		:=	1

# WARNING: This enables loading of OP-TEE via an SMC, which can be potentially
# insecure. This removes the boundary between the startup of the secure and
# non-secure worlds until the point where this SMC is invoked. Only use this
# setting if you can ensure that the non-secure OS can remain trusted up until
# the point where this SMC is invoked.
OPTEE_ALLOW_SMC_LOAD		:=	0
ifeq ($(OPTEE_ALLOW_SMC_LOAD),1)
ifeq ($(PLAT_XLAT_TABLES_DYNAMIC),0)
$(error When OPTEE_ALLOW_SMC_LOAD=1, PLAT_XLAT_TABLES_DYNAMIC must also be 1)
endif
$(warning "OPTEE_ALLOW_SMC_LOAD is enabled which may result in an insecure \
	platform")
$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC))
$(eval $(call add_define,OPTEE_ALLOW_SMC_LOAD))
include lib/libfdt/libfdt.mk
endif