diff options
author | Daniel Boulby <daniel.boulby@arm.com> | 2018-07-06 16:54:44 +0100 |
---|---|---|
committer | Daniel Boulby <daniel.boulby@arm.com> | 2018-07-24 15:01:57 +0100 |
commit | d323af9e3d903d981b42f954844a95a6bfef91ab (patch) | |
tree | c13cc99f901b38bf7092a99e124c24ea1ec233ba /plat/ti | |
parent | a0934217c96bcf9e0816d24f19d660463b827490 (diff) | |
download | platform_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.c | 18 |
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); } |