diff options
author | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2018-11-15 11:53:50 +0000 |
---|---|---|
committer | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2018-11-20 14:02:08 +0000 |
commit | 814003f9ca83d35162cf23c5540324496597e8a6 (patch) | |
tree | 5692d392dc7bd795343c9f8efb2c3dd5952d6a54 /lib | |
parent | 957514d4f73cc05bc222ceb18de24c5d9bb16623 (diff) |
xlat v2: Synchronise code with TF
Change-Id: Ibf4fffbfc025b205223d17a579f8cde386252199
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/xlat_tables_v2/aarch64/enable_mmu.S | 3 | ||||
-rw-r--r-- | lib/xlat_tables_v2/aarch64/xlat_tables_arch.c | 2 | ||||
-rw-r--r-- | lib/xlat_tables_v2/xlat_tables.mk | 3 | ||||
-rw-r--r-- | lib/xlat_tables_v2/xlat_tables_context.c | 22 | ||||
-rw-r--r-- | lib/xlat_tables_v2/xlat_tables_core.c | 8 | ||||
-rw-r--r-- | lib/xlat_tables_v2/xlat_tables_utils.c | 3 |
6 files changed, 14 insertions, 27 deletions
diff --git a/lib/xlat_tables_v2/aarch64/enable_mmu.S b/lib/xlat_tables_v2/aarch64/enable_mmu.S index 21717d2..504c03c 100644 --- a/lib/xlat_tables_v2/aarch64/enable_mmu.S +++ b/lib/xlat_tables_v2/aarch64/enable_mmu.S @@ -45,7 +45,8 @@ tlbi_invalidate_all \el mov x7, x0 - ldr x0, =mmu_cfg_params + adrp x0, mmu_cfg_params + add x0, x0, :lo12:mmu_cfg_params /* MAIR */ ldr x1, [x0, #(MMU_CFG_MAIR << 3)] diff --git a/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c b/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c index d1555bf..269adc7 100644 --- a/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c +++ b/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c @@ -9,7 +9,7 @@ #include <assert.h> #include <cassert.h> #include <stdbool.h> -#include <sys/types.h> +#include <stdint.h> #include <utils_def.h> #include <xlat_tables_v2.h> #include "../xlat_tables_private.h" diff --git a/lib/xlat_tables_v2/xlat_tables.mk b/lib/xlat_tables_v2/xlat_tables.mk index 9507ad7..c946315 100644 --- a/lib/xlat_tables_v2/xlat_tables.mk +++ b/lib/xlat_tables_v2/xlat_tables.mk @@ -10,3 +10,6 @@ XLAT_TABLES_LIB_SRCS := $(addprefix lib/xlat_tables_v2/, \ xlat_tables_context.c \ xlat_tables_core.c \ xlat_tables_utils.c) + +XLAT_TABLES_LIB_V2 := 1 +$(eval $(call add_define,XLAT_TABLES_LIB_V2)) diff --git a/lib/xlat_tables_v2/xlat_tables_context.c b/lib/xlat_tables_v2/xlat_tables_context.c index df491d0..9b481a1 100644 --- a/lib/xlat_tables_v2/xlat_tables_context.c +++ b/lib/xlat_tables_v2/xlat_tables_context.c @@ -19,24 +19,6 @@ uint64_t mmu_cfg_params[MMU_CFG_PARAM_MAX]; /* - * Each platform can define the size of its physical and virtual address spaces. - * If the platform hasn't defined one or both of them, default to - * ADDR_SPACE_SIZE. The latter is deprecated, though. - */ -#if ERROR_DEPRECATED -# ifdef ADDR_SPACE_SIZE -# error "ADDR_SPACE_SIZE is deprecated. Use PLAT_xxx_ADDR_SPACE_SIZE instead." -# endif -#elif defined(ADDR_SPACE_SIZE) -# ifndef PLAT_PHY_ADDR_SPACE_SIZE -# define PLAT_PHY_ADDR_SPACE_SIZE ADDR_SPACE_SIZE -# endif -# ifndef PLAT_VIRT_ADDR_SPACE_SIZE -# define PLAT_VIRT_ADDR_SPACE_SIZE ADDR_SPACE_SIZE -# endif -#endif - -/* * Allocate and initialise the default translation context for the software * image currently executing. */ @@ -68,7 +50,7 @@ void mmap_add_region_alloc_va(unsigned long long base_pa, uintptr_t *base_va, void mmap_add_alloc_va(mmap_region_t *mm) { - while (mm->size != 0U) { + while (mm->granularity != 0U) { assert(mm->base_va == 0U); mmap_add_region_alloc_va_ctx(&tf_xlat_ctx, mm); mm++; @@ -107,7 +89,7 @@ int mmap_remove_dynamic_region(uintptr_t base_va, size_t size) #endif /* PLAT_XLAT_TABLES_DYNAMIC */ -void init_xlat_tables(void) +void __init init_xlat_tables(void) { assert(tf_xlat_ctx.xlat_regime == EL_REGIME_INVALID); diff --git a/lib/xlat_tables_v2/xlat_tables_core.c b/lib/xlat_tables_v2/xlat_tables_core.c index 80ce4fa..91d3a03 100644 --- a/lib/xlat_tables_v2/xlat_tables_core.c +++ b/lib/xlat_tables_v2/xlat_tables_core.c @@ -10,8 +10,8 @@ #include <errno.h> #include <platform_def.h> #include <stdbool.h> +#include <stdint.h> #include <string.h> -#include <types.h> #include <utils_def.h> #include <xlat_tables_defs.h> #include <xlat_tables_v2.h> @@ -861,7 +861,7 @@ static void mmap_alloc_va_align_ctx(xlat_ctx_t *ctx, mmap_region_t *mm) * the addresses and size are aligned to PAGE_SIZE are inside * mmap_add_region. */ - for (int level = ctx->base_level; level <= 2; ++level) { + for (unsigned int level = ctx->base_level; level <= 2U; ++level) { if (align_check & XLAT_BLOCK_MASK(level)) continue; @@ -889,7 +889,7 @@ void mmap_add_ctx(xlat_ctx_t *ctx, const mmap_region_t *mm) { const mmap_region_t *mm_cursor = mm; - while (mm_cursor->size != 0U) { + while (mm_cursor->granularity != 0U) { mmap_add_region_ctx(ctx, mm_cursor); mm_cursor++; } @@ -1103,7 +1103,7 @@ int mmap_remove_dynamic_region_ctx(xlat_ctx_t *ctx, uintptr_t base_va, #endif /* PLAT_XLAT_TABLES_DYNAMIC */ -void init_xlat_tables_ctx(xlat_ctx_t *ctx) +void __init init_xlat_tables_ctx(xlat_ctx_t *ctx) { assert(ctx != NULL); assert(!ctx->initialized); diff --git a/lib/xlat_tables_v2/xlat_tables_utils.c b/lib/xlat_tables_v2/xlat_tables_utils.c index 1ada488..41c01ae 100644 --- a/lib/xlat_tables_v2/xlat_tables_utils.c +++ b/lib/xlat_tables_v2/xlat_tables_utils.c @@ -10,7 +10,8 @@ #include <errno.h> #include <platform_def.h> #include <stdbool.h> -#include <types.h> +#include <stdint.h> +#include <stdio.h> #include <utils_def.h> #include <xlat_tables_defs.h> #include <xlat_tables_v2.h> |