aboutsummaryrefslogtreecommitdiffstats
path: root/plat/ti
diff options
context:
space:
mode:
authorDaniel Boulby <daniel.boulby@arm.com>2018-07-06 16:54:44 +0100
committerDaniel Boulby <daniel.boulby@arm.com>2018-07-24 15:01:57 +0100
commitd323af9e3d903d981b42f954844a95a6bfef91ab (patch)
treec13cc99f901b38bf7092a99e124c24ea1ec233ba /plat/ti
parenta0934217c96bcf9e0816d24f19d660463b827490 (diff)
downloadplatform_external_arm-trusted-firmware-d323af9e3d903d981b42f954844a95a6bfef91ab.tar.gz
platform_external_arm-trusted-firmware-d323af9e3d903d981b42f954844a95a6bfef91ab.tar.bz2
platform_external_arm-trusted-firmware-d323af9e3d903d981b42f954844a95a6bfef91ab.zip
Rework page table setup for varying number of mem regions
Change arm_setup_page_tables() to take a variable number of memory regions. Remove coherent memory region from BL1, BL2 and BL2U as their coherent memory region doesn't contain anything and therefore has a size of 0. Add check to ensure this doesn't change without us knowing. Change-Id: I790054e3b20b056dda1043a4a67bd7ac2d6a3bc0 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Diffstat (limited to 'plat/ti')
-rw-r--r--plat/ti/k3/common/k3_bl31_setup.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/plat/ti/k3/common/k3_bl31_setup.c b/plat/ti/k3/common/k3_bl31_setup.c
index ca7d214a1..3de57a7c4 100644
--- a/plat/ti/k3/common/k3_bl31_setup.c
+++ b/plat/ti/k3/common/k3_bl31_setup.c
@@ -99,12 +99,18 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
void bl31_plat_arch_setup(void)
{
- arm_setup_page_tables(BL31_BASE,
- BL31_END - BL31_BASE,
- BL_CODE_BASE,
- BL_CODE_END,
- BL_RO_DATA_BASE,
- BL_RO_DATA_END);
+
+ const mmap_region_t bl_regions[] = {
+ MAP_REGION_FLAT(BL31_BASE, BL31_END - BL31_BASE,
+ MT_MEMORY | MT_RW | MT_SECURE),
+ MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE,
+ MT_CODE | MT_SECURE),
+ MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_END,
+ MT_RO_DATA | MT_SECURE),
+ {0}
+ };
+
+ arm_setup_page_tables(bl_regions, plat_arm_get_mmap());
enable_mmu_el3(0);
}