mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 18:44:22 +00:00

In preparation for adding the EL3 SPMC configuration as defined in the FF-A specification, restructure the existing SPM_MM code. With this restructuring of the code, the 'spm_mm' directory is renamed as 'spm' and the code inside has been split into two sub-directories named 'common' and 'spm_mm'. The code in 'spm_mm' directory contains the code that implements the MM interface. In subsequent patches, the 'spmc' directory will be introduced under the 'spm' directory providing the code that implements the 'FF-A' interface. Currently the common functionality for S-EL1 partitions is limited to assembler functions to enter and exit an SP synchronously. Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I37739b9b53bc68e151ab5c1c0c6a15b3ee362241
31 lines
898 B
Makefile
31 lines
898 B
Makefile
#
|
|
# Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
ifneq (${SPD},none)
|
|
$(error "Error: SPD and SPM_MM are incompatible build options.")
|
|
endif
|
|
ifneq (${ARCH},aarch64)
|
|
$(error "Error: SPM_MM is only supported on aarch64.")
|
|
endif
|
|
ifeq (${ENABLE_SVE_FOR_NS},1)
|
|
$(error "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS")
|
|
endif
|
|
ifeq (${ENABLE_SME_FOR_NS},1)
|
|
$(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS")
|
|
endif
|
|
|
|
SPM_MM_SOURCES := $(addprefix services/std_svc/spm/spm_mm/, \
|
|
${ARCH}/spm_mm_shim_exceptions.S \
|
|
spm_mm_main.c \
|
|
spm_mm_setup.c \
|
|
spm_mm_xlat.c)
|
|
|
|
|
|
# Let the top-level Makefile know that we intend to include a BL32 image
|
|
NEED_BL32 := yes
|
|
|
|
# required so that SPM code executing at S-EL0 can access the timer registers
|
|
NS_TIMER_SWITCH := 1
|