diff options
author | Volodymyr Babchuk <volodymyr_babchuk@epam.com> | 2020-01-23 20:05:02 +0200 |
---|---|---|
committer | Jerome Forissier <jerome@forissier.org> | 2020-01-24 14:42:18 +0100 |
commit | 9c619b2c69ee1110eb851d735b04c740e8e71688 (patch) | |
tree | a4bba1c6fbc11d21a794f1c8a9a9b6588de531fc /core/arch/arm/mm | |
parent | 4b2d89454dac0fea86a6b1f8dfa42f904f9a23c4 (diff) |
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>
Diffstat (limited to 'core/arch/arm/mm')
-rw-r--r-- | core/arch/arm/mm/core_mmu.c | 5 |
1 files changed, 5 insertions, 0 deletions
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; |