spm_mm.mk 967 B

123456789101112131415161718192021222324252627282930313233
  1. #
  2. # Copyright (c) 2017-2023, ARM Limited and Contributors. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-3-Clause
  5. #
  6. ifneq (${SPD},none)
  7. $(error "Error: SPD and SPM_MM are incompatible build options.")
  8. endif
  9. ifneq (${ARCH},aarch64)
  10. $(error "Error: SPM_MM is only supported on aarch64.")
  11. endif
  12. ifneq (${ENABLE_SVE_FOR_NS},0)
  13. $(error "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS")
  14. endif
  15. ifneq (${ENABLE_SME_FOR_NS},0)
  16. $(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS")
  17. endif
  18. ifeq (${CTX_INCLUDE_FPREGS},0)
  19. $(warning "Warning: SPM_MM: CTX_INCLUDE_FPREGS is set to 0")
  20. endif
  21. SPM_MM_SOURCES := $(addprefix services/std_svc/spm/spm_mm/, \
  22. spm_mm_main.c \
  23. spm_mm_setup.c \
  24. spm_mm_xlat.c)
  25. # Let the top-level Makefile know that we intend to include a BL32 image
  26. NEED_BL32 := yes
  27. # required so that SPM code executing at S-EL0 can access the timer registers
  28. NS_TIMER_SWITCH := 1