1#
2# Copyright (c) 2020-2022, ARM Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7ifeq (${USE_DEBUGFS}, 1)
8    $(error "Debugfs requires functionality from the dynamic translation \
9             library and is incompatible with ALLOW_RO_XLAT_TABLES.")
10endif
11
12ifeq (${ARCH},aarch32)
13    ifeq (${RESET_TO_SP_MIN},1)
14       $(error "RESET_TO_SP_MIN requires functionality from the dynamic \
15                translation library and is incompatible with \
16                ALLOW_RO_XLAT_TABLES.")
17    endif
18else # if AArch64
19    ifeq (${PLAT},tegra)
20        $(error "Tegra requires functionality from the dynamic translation \
21                 library and is incompatible with ALLOW_RO_XLAT_TABLES.")
22    endif
23    ifeq (${RESET_TO_BL31},1)
24        $(error "RESET_TO_BL31 requires functionality from the dynamic \
25                 translation library and is incompatible with \
26                 ALLOW_RO_XLAT_TABLES.")
27    endif
28    ifeq (${SPD},trusty)
29        $(error "Trusty requires functionality from the dynamic translation \
30                 library and is incompatible with ALLOW_RO_XLAT_TABLES.")
31    endif
32    ifeq (${SPM_MM},1)
33        $(error "SPM_MM requires functionality to change memory region \
34                 attributes, which is not possible once the translation tables \
35                 have been made read-only.")
36    endif
37    ifeq (${SPMC_AT_EL3},1)
38        $(error "EL3 SPMC requires functionality from the dynamic translation \
39                 library and is incompatible with ALLOW_RO_XLAT_TABLES.")
40    endif
41endif
42