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

Add support for runtime detection (ENABLE_SME_FOR_NS=2), by splitting feat_sme_supported() into an ID register reading function and a second function to report the support status. That function considers both build time settings and runtime information (if needed), and is used before we do SME specific setup. Change the FVP platform default to the now supported dynamic option (=2),so the right decision can be made by the code at runtime. Change-Id: Ida9ccf737db5be20865b84f42b1f9587be0626ab Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
34 lines
1,005 B
Makefile
34 lines
1,005 B
Makefile
#
|
|
# Copyright (c) 2017-2023, 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
|
|
ifneq (${ENABLE_SME_FOR_NS},0)
|
|
$(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS")
|
|
endif
|
|
ifeq (${CTX_INCLUDE_FPREGS},0)
|
|
$(warning "Warning: SPM_MM: CTX_INCLUDE_FPREGS is set to 0")
|
|
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
|