virt: core_mmu: use nexus memory area for temporary map
If CFG_VIRTUALIZATION is enabled, page allocator code will
try to allocate pages from nexus sections, which were not
mapped by default.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/core/arch/arm/mm/core_mmu.c b/core/arch/arm/mm/core_mmu.c
index 5e4ad8e..5d1496c 100644
--- a/core/arch/arm/mm/core_mmu.c
+++ b/core/arch/arm/mm/core_mmu.c
@@ -1205,7 +1205,12 @@
*/
void core_init_mmu_map(unsigned long seed, struct core_mmu_config *cfg)
{
+#ifndef CFG_VIRTUALIZATION
vaddr_t start = ROUNDDOWN((vaddr_t)__nozi_start, SMALL_PAGE_SIZE);
+#else
+ vaddr_t start = ROUNDDOWN((vaddr_t)__vcore_nex_rw_start,
+ SMALL_PAGE_SIZE);
+#endif
vaddr_t len = ROUNDUP((vaddr_t)__nozi_end, SMALL_PAGE_SIZE) - start;
struct tee_mmap_region *tmp_mmap = get_tmp_mmap();
unsigned long offs = 0;