From: Marco Felsch Date: Mon, 22 Aug 2022 10:23:56 +0000 (+0200) Subject: refactor(imx8mm): cleanup the mmap region settings X-Git-Tag: baikal/aarch64/sdk5.9~54^2 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=686a5bc8943c1b64b16f6b7aa36b74d106db9ce2;p=arm-tf.git refactor(imx8mm): cleanup the mmap region settings No functional change. Introduce the bl_regions array to gather all regions and make use of the MAP_REGION_FLAT() macro. The array is than passed to mmap_add() to map all regions. While on it introduce some defines so the addr, size and flags can be read more easily. Signed-off-by: Marco Felsch Change-Id: I9f0ae9fc89514db71bef734b867c46574833831c --- diff --git a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c index 1667baf45..721661ea9 100644 --- a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c +++ b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c @@ -174,20 +174,30 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, bl31_tzc380_setup(); } +#define MAP_BL31_TOTAL \ + MAP_REGION_FLAT(BL31_BASE, BL31_LIMIT - BL31_BASE, MT_MEMORY | MT_RW | MT_SECURE) +#define MAP_BL31_RO \ + MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, MT_MEMORY | MT_RO | MT_SECURE) +#define MAP_COHERENT_MEM \ + MAP_REGION_FLAT(BL_COHERENT_RAM_BASE, BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE, \ + MT_DEVICE | MT_RW | MT_SECURE) +#define MAP_BL32_TOTAL \ + MAP_REGION_FLAT(BL32_BASE, BL32_SIZE, MT_MEMORY | MT_RW) + void bl31_plat_arch_setup(void) { - mmap_add_region(BL31_BASE, BL31_BASE, (BL31_LIMIT - BL31_BASE), - MT_MEMORY | MT_RW | MT_SECURE); - mmap_add_region(BL_CODE_BASE, BL_CODE_BASE, (BL_CODE_END - BL_CODE_BASE), - MT_MEMORY | MT_RO | MT_SECURE); + const mmap_region_t bl_regions[] = { + MAP_BL31_TOTAL, + MAP_BL31_RO, #if USE_COHERENT_MEM - mmap_add_region(BL_COHERENT_RAM_BASE, BL_COHERENT_RAM_BASE, - (BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE), - MT_DEVICE | MT_RW | MT_SECURE); + MAP_COHERENT_MEM, #endif - /* Map TEE memory */ - mmap_add_region(BL32_BASE, BL32_BASE, BL32_SIZE, MT_MEMORY | MT_RW); + /* Map TEE memory */ + MAP_BL32_TOTAL, + {0} + }; + mmap_add(bl_regions); mmap_add(imx_mmap); init_xlat_tables();