mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-13 16:14:20 +00:00
uniphier: support read-only xlat tables
BL2 for this platform uses mmap_add_dynamic_region(), but BL31 and BL32 (TSP) only use static mapping. So, BL31 and BL32 can make the tables read-only after enabling MMU. Enable ALLOW_RO_XLAT_TABLES by default. Change-Id: Ib59c44697163629119888bb6abd47fa144f09ba3 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
2765ffdc99
commit
664e15c2bd
2 changed files with 20 additions and 0 deletions
|
@ -14,6 +14,13 @@ override ENABLE_SVE_FOR_NS := 0
|
|||
# UNIPHIER_MEM_BASE so that all TF images are loaded at their link addresses.
|
||||
override ENABLE_PIE := 1
|
||||
|
||||
ALLOW_RO_XLAT_TABLES := 1
|
||||
|
||||
ifeq ($(ALLOW_RO_XLAT_TABLES),1)
|
||||
BL31_CFLAGS += -DPLAT_RO_XLAT_TABLES=1
|
||||
BL32_CFLAGS += -DPLAT_RO_XLAT_TABLES=1
|
||||
endif
|
||||
|
||||
# Cortex-A53 revision r0p4-51rel0
|
||||
# needed for LD20, unneeded for LD11, PXs3 (no ACE)
|
||||
ERRATA_A53_855873 := 1
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include <common/debug.h>
|
||||
#include <lib/xlat_tables/xlat_tables_v2.h>
|
||||
#include <plat/common/platform.h>
|
||||
|
||||
#include "uniphier.h"
|
||||
|
||||
|
@ -65,4 +66,16 @@ void uniphier_mmap_setup(unsigned int soc)
|
|||
init_xlat_tables();
|
||||
|
||||
enable_mmu(0);
|
||||
|
||||
#if PLAT_RO_XLAT_TABLES
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = xlat_make_tables_readonly();
|
||||
if (ret) {
|
||||
ERROR("Failed to make translation tables read-only.");
|
||||
plat_error_handler(ret);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue