1# 2# Copyright (c) 2017-2023, 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 13ifneq (${ENABLE_SVE_FOR_NS},0) 14 $(error "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS") 15endif 16ifneq (${ENABLE_SME_FOR_NS},0) 17 $(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS") 18endif 19ifeq (${CTX_INCLUDE_FPREGS},0) 20 $(warning "Warning: SPM_MM: CTX_INCLUDE_FPREGS is set to 0") 21endif 22 23SPM_MM_SOURCES := $(addprefix services/std_svc/spm/spm_mm/, \ 24 spm_mm_main.c \ 25 spm_mm_setup.c \ 26 spm_mm_xlat.c) 27 28 29# Let the top-level Makefile know that we intend to include a BL32 image 30NEED_BL32 := yes 31 32# required so that SPM code executing at S-EL0 can access the timer registers 33NS_TIMER_SWITCH := 1 34