blob: 78ef0c9fbd05cefb6338dd4cf37a0925cb16c3a1 [file] [log] [blame]
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +00001#
Marc Bonnici758bd242021-12-19 21:37:50 +00002# Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved.
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +00003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifneq (${SPD},none)
Paul Beesley72f9ec62019-10-15 14:20:34 +00008 $(error "Error: SPD and SPM_MM are incompatible build options.")
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +00009endif
10ifneq (${ARCH},aarch64)
Paul Beesley72f9ec62019-10-15 14:20:34 +000011 $(error "Error: SPM_MM is only supported on aarch64.")
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +000012endif
Manish Pandey247e5c32021-11-15 15:29:08 +000013ifeq (${ENABLE_SVE_FOR_NS},1)
14 $(error "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS")
15endif
16ifeq (${ENABLE_SME_FOR_NS},1)
17 $(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS")
18endif
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +000019
Marc Bonnici758bd242021-12-19 21:37:50 +000020SPM_MM_SOURCES := $(addprefix services/std_svc/spm/spm_mm/, \
Paul Beesley49cabec2019-10-15 16:14:14 +000021 ${ARCH}/spm_mm_shim_exceptions.S \
Marc Bonnici758bd242021-12-19 21:37:50 +000022 spm_mm_main.c \
23 spm_mm_setup.c \
Paul Beesleye449d6a2019-10-15 16:13:10 +000024 spm_mm_xlat.c)
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +000025
26
27# Let the top-level Makefile know that we intend to include a BL32 image
28NEED_BL32 := yes
Ard Biesheuvel923cd772019-01-01 11:01:41 +010029
30# required so that SPM code executing at S-EL0 can access the timer registers
31NS_TIMER_SWITCH := 1