From 9c619b2c69ee1110eb851d735b04c740e8e71688 Mon Sep 17 00:00:00 2001 From: Volodymyr Babchuk Date: Thu, 23 Jan 2020 20:05:02 +0200 Subject: 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 Reviewed-by: Jens Wiklander --- core/arch/arm/mm/core_mmu.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'core/arch/arm/mm') diff --git a/core/arch/arm/mm/core_mmu.c b/core/arch/arm/mm/core_mmu.c index 5e4ad8ec..5d1496ce 100644 --- a/core/arch/arm/mm/core_mmu.c +++ b/core/arch/arm/mm/core_mmu.c @@ -1205,7 +1205,12 @@ static struct tee_mmap_region *get_tmp_mmap(void) */ 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; -- cgit v1.2.3