diff options
author | Etienne Carriere <etienne.carriere@linaro.org> | 2016-07-23 10:57:10 +0200 |
---|---|---|
committer | Etienne Carriere <etienne.carriere@linaro.org> | 2016-08-09 15:24:14 +0200 |
commit | d13278b879afbe61bc625d85bf35ac2eb20bd844 (patch) | |
tree | eca38bb007f801f1b542bb6d16f741b9fc8d7e58 /core/arch/arm/mm/core_mmu_v7.c | |
parent | 8ddf5a4e3ce277adee040d90758ec08b429e9e4f (diff) |
core: remove TEE_ASSERT()
TEE_ASSERT() can be confusing regarding assert() as assert() can
be disabled through NDEBUG while TEE_ASSERT() can't.
Instead one should explicitly implement "if (cond) { panic(); }"
This patch removes several inclusions on tee_common_unpg.h as it
used to define TEE_ASSERT() that has been removed.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jen.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (QEMU)
Diffstat (limited to 'core/arch/arm/mm/core_mmu_v7.c')
-rw-r--r-- | core/arch/arm/mm/core_mmu_v7.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c index ef3c21fe..7e3ab890 100644 --- a/core/arch/arm/mm/core_mmu_v7.c +++ b/core/arch/arm/mm/core_mmu_v7.c @@ -166,7 +166,8 @@ static paddr_t core_mmu_get_main_ttb_pa(void) /* Note that this depends on flat mapping of TEE Core */ paddr_t pa = (paddr_t)core_mmu_get_main_ttb_va(); - TEE_ASSERT(!(pa & ~TEE_MMU_TTB_L1_MASK)); + if (pa & ~TEE_MMU_TTB_L1_MASK) + panic(); return pa; } @@ -180,7 +181,8 @@ static paddr_t core_mmu_get_ul1_ttb_pa(void) /* Note that this depends on flat mapping of TEE Core */ paddr_t pa = (paddr_t)core_mmu_get_ul1_ttb_va(); - TEE_ASSERT(!(pa & ~TEE_MMU_TTB_UL1_MASK)); + if (pa & ~TEE_MMU_TTB_UL1_MASK) + panic(); return pa; } @@ -534,7 +536,8 @@ static paddr_t map_page_memarea(struct tee_mmap_region *mm) size_t pg_idx; uint32_t attr; - TEE_ASSERT(l2); + if (!l2) + panic(); attr = mattr_to_desc(2, mm->attr); @@ -588,11 +591,8 @@ static void map_memarea(struct tee_mmap_region *mm, uint32_t *ttb) * TODO: support mapping devices at a virtual address which isn't * the same as the physical address. */ - if (mm->va < (TEE_MMU_UL1_NUM_ENTRIES * SECTION_SIZE)) { - EMSG("va 0x%" PRIxVA " conflicts with user ta address!", - mm->va); + if (mm->va < (TEE_MMU_UL1_NUM_ENTRIES * SECTION_SIZE)) panic(); - } if ((mm->va | mm->pa | mm->size) & SECTION_MASK) { region_size = SMALL_PAGE_SIZE; @@ -601,11 +601,8 @@ static void map_memarea(struct tee_mmap_region *mm, uint32_t *ttb) * Need finer grained mapping, if small pages aren't * good enough, panic. */ - if ((mm->va | mm->pa | mm->size) & SMALL_PAGE_MASK) { - EMSG("va 0x%" PRIxVA " pa 0x%" PRIxPA " size 0x%x can't be mapped", - mm->va, mm->pa, mm->size); + if ((mm->va | mm->pa | mm->size) & SMALL_PAGE_MASK) panic(); - } attr = mattr_to_desc(1, mm->attr | TEE_MATTR_TABLE); pa = map_page_memarea(mm); |