blob: a87bdd878e490cbb11f06895cb823e048fc318b4 [file] [log] [blame]
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +00001#
Paul Beesley72f9ec62019-10-15 14:20:34 +00002# Copyright (c) 2017-2019, 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
Antonio Nino Diaz8338d362019-01-21 11:52:57 +000020SPM_SOURCES := $(addprefix services/std_svc/spm_mm/, \
Paul Beesley49cabec2019-10-15 16:14:14 +000021 ${ARCH}/spm_mm_helpers.S \
22 ${ARCH}/spm_mm_shim_exceptions.S \
Paul Beesleye449d6a2019-10-15 16:13:10 +000023 spm_mm_main.c \
24 spm_mm_setup.c \
25 spm_mm_xlat.c)
Antonio Nino Diaz8cd7ea32018-10-30 11:08:08 +000026
27
28# Let the top-level Makefile know that we intend to include a BL32 image
29NEED_BL32 := yes
Ard Biesheuvel923cd772019-01-01 11:01:41 +010030
31# required so that SPM code executing at S-EL0 can access the timer registers
32NS_TIMER_SWITCH := 1