blob: a191f6ff11c70801ff7083a40cecddbd770c6787 [file] [log] [blame]
Antonio Nino Diazc41f2062017-10-24 10:07:35 +01001#
Antonio Nino Diaz2ac9a442018-05-23 11:40:46 +01002# Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
Antonio Nino Diazc41f2062017-10-24 10:07:35 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifneq (${SPD},none)
8 $(error "Error: SPD and SPM are incompatible build options.")
9endif
10ifneq (${ARCH},aarch64)
11 $(error "Error: SPM is only supported on aarch64.")
12endif
13
Antonio Nino Diaz9bf1d232018-11-08 09:21:48 +000014include lib/sprt/sprt_host.mk
15
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010016SPM_SOURCES := $(addprefix services/std_svc/spm/, \
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010017 ${ARCH}/spm_helpers.S \
Antonio Nino Diaz2ac9a442018-05-23 11:40:46 +010018 ${ARCH}/spm_shim_exceptions.S \
Antonio Nino Diaz7b28b542018-05-22 16:45:35 +010019 sp_setup.c \
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000020 sp_xlat.c \
21 spci.c \
22 spm_main.c \
Antonio Nino Diaz9bf1d232018-11-08 09:21:48 +000023 sprt.c) \
24 ${SPRT_LIB_SOURCES}
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000025
Antonio Nino Diaz9bf1d232018-11-08 09:21:48 +000026INCLUDES += ${SPRT_LIB_INCLUDES}
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010027
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000028# Force SMC Calling Convention 2 when using SPM
29SMCCC_MAJOR_VERSION := 2
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010030
31# Let the top-level Makefile know that we intend to include a BL32 image
32NEED_BL32 := yes