diff options
author | Douglas Raillard <douglas.raillard@arm.com> | 2017-09-12 10:31:49 +0100 |
---|---|---|
committer | Douglas Raillard <douglas.raillard@arm.com> | 2017-09-14 10:37:32 +0100 |
commit | 73addb728d7f2f0e83d658fc0057c25671ad5aa8 (patch) | |
tree | e5adc8b2198c58a198c45dbab844aaee730ef68f /lib | |
parent | f18f5f9867551d0d21da79e25371a298933aaff1 (diff) | |
download | platform_external_arm-trusted-firmware-73addb728d7f2f0e83d658fc0057c25671ad5aa8.tar.gz platform_external_arm-trusted-firmware-73addb728d7f2f0e83d658fc0057c25671ad5aa8.tar.bz2 platform_external_arm-trusted-firmware-73addb728d7f2f0e83d658fc0057c25671ad5aa8.zip |
xlat: fix mm copy when adding a region
mmap_add_region_ctx and mmap_add_dynamic_region_ctx are clearing members
that they are not aware of by copying each member one by one. Replace
this by structure assignment.
Change-Id: I7c70cb408c8a8eb551402a5d8d956c1fb7f32b55
Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/xlat_tables_v2/xlat_tables_internal.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/xlat_tables_v2/xlat_tables_internal.c b/lib/xlat_tables_v2/xlat_tables_internal.c index cd6e11c03..ce44e736d 100644 --- a/lib/xlat_tables_v2/xlat_tables_internal.c +++ b/lib/xlat_tables_v2/xlat_tables_internal.c @@ -754,10 +754,7 @@ void mmap_add_region_ctx(xlat_ctx_t *ctx, const mmap_region_t *mm) */ assert(mm_last->size == 0); - mm_cursor->base_pa = mm->base_pa; - mm_cursor->base_va = mm->base_va; - mm_cursor->size = mm->size; - mm_cursor->attr = mm->attr; + *mm_cursor = *mm; if (end_pa > ctx->max_pa) ctx->max_pa = end_pa; @@ -832,10 +829,8 @@ int mmap_add_dynamic_region_ctx(xlat_ctx_t *ctx, mmap_region_t *mm) */ assert(mm_last->size == 0); - mm_cursor->base_pa = mm->base_pa; - mm_cursor->base_va = mm->base_va; - mm_cursor->size = mm->size; - mm_cursor->attr = mm->attr | MT_DYNAMIC; + *mm_cursor = *mm; + mm_cursor->attr |= MT_DYNAMIC; /* * Update the translation tables if the xlat tables are initialized. If |