Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 1 | # |
Paul Beesley | 72f9ec6 | 2019-10-15 14:20:34 +0000 | [diff] [blame] | 2 | # Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. |
Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | |
| 7 | ifneq (${SPD},none) |
Paul Beesley | 72f9ec6 | 2019-10-15 14:20:34 +0000 | [diff] [blame] | 8 | $(error "Error: SPD and SPM_MM are incompatible build options.") |
Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 9 | endif |
| 10 | ifneq (${ARCH},aarch64) |
Paul Beesley | 72f9ec6 | 2019-10-15 14:20:34 +0000 | [diff] [blame] | 11 | $(error "Error: SPM_MM is only supported on aarch64.") |
Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 12 | endif |
Manish Pandey | 247e5c3 | 2021-11-15 15:29:08 +0000 | [diff] [blame] | 13 | ifeq (${ENABLE_SVE_FOR_NS},1) |
| 14 | $(error "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS") |
| 15 | endif |
| 16 | ifeq (${ENABLE_SME_FOR_NS},1) |
| 17 | $(error "Error: SPM_MM is not compatible with ENABLE_SME_FOR_NS") |
| 18 | endif |
Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 19 | |
Antonio Nino Diaz | 8338d36 | 2019-01-21 11:52:57 +0000 | [diff] [blame] | 20 | SPM_SOURCES := $(addprefix services/std_svc/spm_mm/, \ |
Paul Beesley | 49cabec | 2019-10-15 16:14:14 +0000 | [diff] [blame] | 21 | ${ARCH}/spm_mm_helpers.S \ |
| 22 | ${ARCH}/spm_mm_shim_exceptions.S \ |
Paul Beesley | e449d6a | 2019-10-15 16:13:10 +0000 | [diff] [blame] | 23 | spm_mm_main.c \ |
| 24 | spm_mm_setup.c \ |
| 25 | spm_mm_xlat.c) |
Antonio Nino Diaz | 8cd7ea3 | 2018-10-30 11:08:08 +0000 | [diff] [blame] | 26 | |
| 27 | |
| 28 | # Let the top-level Makefile know that we intend to include a BL32 image |
| 29 | NEED_BL32 := yes |
Ard Biesheuvel | 923cd77 | 2019-01-01 11:01:41 +0100 | [diff] [blame] | 30 | |
| 31 | # required so that SPM code executing at S-EL0 can access the timer registers |
| 32 | NS_TIMER_SWITCH := 1 |