Achin Gupta | 86f2353 | 2019-10-11 15:41:16 +0100 | [diff] [blame] | 1 | # |
Jayanth Dodderi Chidanand | 605419a | 2023-03-06 23:56:14 +0000 | [diff] [blame] | 2 | # Copyright (c) 2021-2023, ARM Limited and Contributors. All rights reserved. |
Achin Gupta | 86f2353 | 2019-10-11 15:41:16 +0100 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | |
| 7 | ifneq (${ARCH},aarch64) |
johpow01 | 9baade3 | 2021-07-08 14:14:00 -0500 | [diff] [blame] | 8 | $(error "Error: SPMD is only supported on aarch64.") |
| 9 | endif |
| 10 | |
Jayanth Dodderi Chidanand | 605419a | 2023-03-06 23:56:14 +0000 | [diff] [blame] | 11 | ifneq (${ENABLE_SME_FOR_NS},0) |
johpow01 | 9baade3 | 2021-07-08 14:14:00 -0500 | [diff] [blame] | 12 | $(error "Error: SPMD is not compatible with ENABLE_SME_FOR_NS") |
Achin Gupta | 86f2353 | 2019-10-11 15:41:16 +0100 | [diff] [blame] | 13 | endif |
| 14 | |
| 15 | SPMD_SOURCES += $(addprefix services/std_svc/spmd/, \ |
| 16 | ${ARCH}/spmd_helpers.S \ |
Olivier Deprez | 9afca12 | 2019-10-28 09:15:52 +0000 | [diff] [blame] | 17 | spmd_pm.c \ |
Raghu Krishnamurthy | 7f046c1 | 2023-02-25 13:26:10 -0800 | [diff] [blame] | 18 | spmd_main.c \ |
| 19 | spmd_logical_sp.c) |
Achin Gupta | 86f2353 | 2019-10-11 15:41:16 +0100 | [diff] [blame] | 20 | |
Raghu Krishnamurthy | 2a8361d | 2023-03-03 19:30:25 -0800 | [diff] [blame] | 21 | # Specify platform specific SPMD logical partition implementation. |
| 22 | SPMD_LP_SOURCES := $(wildcard $(addprefix ${PLAT_DIR}/, \ |
| 23 | ${PLAT}_spmd_logical_sp*.c)) |
| 24 | |
| 25 | ifeq (${ENABLE_SPMD_LP}, 1) |
| 26 | ifneq ($(wildcard $(SPMD_LP_SOURCES)),) |
| 27 | SPMD_SOURCES += $(SPMD_LP_SOURCES) |
| 28 | endif |
| 29 | endif |
| 30 | |
Achin Gupta | 86f2353 | 2019-10-11 15:41:16 +0100 | [diff] [blame] | 31 | # Let the top-level Makefile know that we intend to include a BL32 image |
| 32 | NEED_BL32 := yes |
| 33 | |
| 34 | # Enable dynamic memory mapping |
| 35 | # The SPMD component maps the SPMC DTB within BL31 virtual space. |
| 36 | PLAT_XLAT_TABLES_DYNAMIC := 1 |
| 37 | $(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC)) |