arm-trusted-firmware/lib/xlat_tables_v2/ro_xlat_tables.mk
Sayanta Pattanayak 70d986ddbb feat(spmc): prevent read only xlat tables with the EL3 SPMC
If using the EL3 SPMC ensure that we don't mark the translation
tables as read only. The SPMC requires the ability to map and
unmap a partitions RX/TX buffers at runtime.

Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: Ibb78a6a2e3847ce4ec74ce81a9bb61ce34fec24c
2022-04-13 09:44:52 +01:00

41 lines
1.5 KiB
Makefile

#
# Copyright (c) 2020-2022, ARM Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
ifeq (${USE_DEBUGFS}, 1)
$(error "Debugfs requires functionality from the dynamic translation \
library and is incompatible with ALLOW_RO_XLAT_TABLES.")
endif
ifeq (${ARCH},aarch32)
ifeq (${RESET_TO_SP_MIN},1)
$(error "RESET_TO_SP_MIN requires functionality from the dynamic \
translation library and is incompatible with \
ALLOW_RO_XLAT_TABLES.")
endif
else # if AArch64
ifeq (${PLAT},tegra)
$(error "Tegra requires functionality from the dynamic translation \
library and is incompatible with ALLOW_RO_XLAT_TABLES.")
endif
ifeq (${RESET_TO_BL31},1)
$(error "RESET_TO_BL31 requires functionality from the dynamic \
translation library and is incompatible with \
ALLOW_RO_XLAT_TABLES.")
endif
ifeq (${SPD},trusty)
$(error "Trusty requires functionality from the dynamic translation \
library and is incompatible with ALLOW_RO_XLAT_TABLES.")
endif
ifeq (${SPM_MM},1)
$(error "SPM_MM requires functionality to change memory region \
attributes, which is not possible once the translation tables \
have been made read-only.")
endif
ifeq (${SPMC_AT_EL3},1)
$(error "EL3 SPMC requires functionality from the dynamic translation \
library and is incompatible with ALLOW_RO_XLAT_TABLES.")
endif
endif