xref: /aosp_15_r20/external/arm-trusted-firmware/services/std_svc/spm_mm/spm_mm.mk (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1#
2# Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifneq (${SPD},none)
8        $(error "Error: SPD and SPM_MM are incompatible build options.")
9endif
10ifneq (${ARCH},aarch64)
11        $(error "Error: SPM_MM is only supported on aarch64.")
12endif
13ifeq (${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
19
20SPM_SOURCES	:=	$(addprefix services/std_svc/spm_mm/,	\
21			${ARCH}/spm_mm_helpers.S			\
22			${ARCH}/spm_mm_shim_exceptions.S		\
23			spm_mm_main.c				\
24			spm_mm_setup.c				\
25			spm_mm_xlat.c)
26
27
28# Let the top-level Makefile know that we intend to include a BL32 image
29NEED_BL32		:=	yes
30
31# required so that SPM code executing at S-EL0 can access the timer registers
32NS_TIMER_SWITCH		:=	1
33