blob: 4ba9feb3c2b19878f757474a6e6feaaa3a824527 [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 Diazf939a6a2018-11-08 14:12:40 +000019 spci.c \
Antonio Nino Diaz89036412018-10-18 14:54:57 +010020 spm_buffers.c \
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000021 spm_main.c \
Antonio Nino Diaz73085f62018-11-15 08:57:18 +000022 spm_setup.c \
23 spm_xlat.c \
Antonio Nino Diaz9bf1d232018-11-08 09:21:48 +000024 sprt.c) \
25 ${SPRT_LIB_SOURCES}
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000026
Antonio Nino Diaz9bf1d232018-11-08 09:21:48 +000027INCLUDES += ${SPRT_LIB_INCLUDES}
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010028
Antonio Nino Diazf939a6a2018-11-08 14:12:40 +000029# Force SMC Calling Convention 2 when using SPM
30SMCCC_MAJOR_VERSION := 2
Antonio Nino Diazc41f2062017-10-24 10:07:35 +010031
32# Let the top-level Makefile know that we intend to include a BL32 image
33NEED_BL32 := yes