From: Chen Baozi Date: Sun, 12 Mar 2023 12:58:04 +0000 (+0800) Subject: feat(qemu): make coherent memory section optional X-Git-Tag: baikal/aarch64/sdk5.10~1^2~145^2~2 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=af994ae8a089ead6082ca82036d30074f554ed52;p=arm-tf.git feat(qemu): make coherent memory section optional Since CPUs such as cortex-a76 are hardware-assisted coherent, coherent memory section is not required for them and should be an optional section. Signed-off-by: Chen Baozi Change-Id: I03c8e9148ca1780b8af92024359698f4452f7129 --- diff --git a/plat/qemu/common/qemu_bl1_setup.c b/plat/qemu/common/qemu_bl1_setup.c index a3f61732d..529510ce4 100644 --- a/plat/qemu/common/qemu_bl1_setup.c +++ b/plat/qemu/common/qemu_bl1_setup.c @@ -29,11 +29,13 @@ - BL_RO_DATA_BASE, \ MT_RO_DATA | EL3_PAS) +#if USE_COHERENT_MEM #define MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \ BL_COHERENT_RAM_BASE, \ BL_COHERENT_RAM_END \ - BL_COHERENT_RAM_BASE, \ MT_DEVICE | MT_RW | EL3_PAS) +#endif /* Data structure which holds the extents of the trusted SRAM for BL1*/ static meminfo_t bl1_tzram_layout; @@ -73,7 +75,9 @@ void bl1_plat_arch_setup(void) const mmap_region_t bl_regions[] = { MAP_BL1_TOTAL, MAP_BL1_RO, +#if USE_COHERENT_MEM MAP_BL_COHERENT_RAM, +#endif {0} }; diff --git a/plat/qemu/common/qemu_bl2_setup.c b/plat/qemu/common/qemu_bl2_setup.c index 8f6066bb5..c4d235e0a 100644 --- a/plat/qemu/common/qemu_bl2_setup.c +++ b/plat/qemu/common/qemu_bl2_setup.c @@ -38,11 +38,13 @@ - BL_RO_DATA_BASE, \ MT_RO_DATA | MT_SECURE) +#if USE_COHERENT_MEM #define MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \ BL_COHERENT_RAM_BASE, \ BL_COHERENT_RAM_END \ - BL_COHERENT_RAM_BASE, \ MT_DEVICE | MT_RW | MT_SECURE) +#endif /* Data structure which holds the extents of the trusted SRAM for BL2 */ static meminfo_t bl2_tzram_layout __aligned(CACHE_WRITEBACK_GRANULE); @@ -108,7 +110,9 @@ void bl2_plat_arch_setup(void) const mmap_region_t bl_regions[] = { MAP_BL2_TOTAL, MAP_BL2_RO, +#if USE_COHERENT_MEM MAP_BL_COHERENT_RAM, +#endif {0} }; diff --git a/plat/qemu/common/qemu_bl31_setup.c b/plat/qemu/common/qemu_bl31_setup.c index 3195d9158..0b84e9620 100644 --- a/plat/qemu/common/qemu_bl31_setup.c +++ b/plat/qemu/common/qemu_bl31_setup.c @@ -26,11 +26,13 @@ - BL_RO_DATA_BASE, \ MT_RO_DATA | EL3_PAS) +#if USE_COHERENT_MEM #define MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \ BL_COHERENT_RAM_BASE, \ BL_COHERENT_RAM_END \ - BL_COHERENT_RAM_BASE, \ MT_DEVICE | MT_RW | EL3_PAS) +#endif /* * Placeholder variables for copying the arguments that have been passed to @@ -87,7 +89,9 @@ void bl31_plat_arch_setup(void) const mmap_region_t bl_regions[] = { MAP_BL31_TOTAL, MAP_BL31_RO, +#if USE_COHERENT_MEM MAP_BL_COHERENT_RAM, +#endif {0} };