summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2015-08-10 22:49:05 +0800
committerVishal Bhoj <vishal.bhoj@linaro.org>2015-10-11 08:46:23 +0100
commita336177091d6c38c91e95ee4ac07cf4606d2c31a (patch)
treee2dcdf953864e09f6968bfc3b8ea6d3769987975 /arch
parent3266c840ca3c020e752129b8835bbc30543e057b (diff)
arm64/efi: align reserve size
Make reserved kernel size as alignment. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kernel/efi-stub.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm64/kernel/efi-stub.c b/arch/arm64/kernel/efi-stub.c
index c90921ef274..0868ad72743 100644
--- a/arch/arm64/kernel/efi-stub.c
+++ b/arch/arm64/kernel/efi-stub.c
@@ -50,7 +50,7 @@ efi_status_t handle_kernel_image(efi_system_table_t *sys_table_arg,
memcpy((void *)*reserve_addr, (void *)*image_addr,
kernel_size);
*image_addr = *reserve_addr;
- *reserve_size = kernel_memsize;
+ *reserve_size = round_up(kernel_memsize, EFI_PAGE_SIZE);
} else {
status = efi_low_alloc(sys_table_arg,
kernel_memsize + TEXT_OFFSET,
@@ -59,7 +59,9 @@ efi_status_t handle_kernel_image(efi_system_table_t *sys_table_arg,
memcpy((void *)*reserve_addr + TEXT_OFFSET,
(void *)*image_addr, kernel_size);
*image_addr = *reserve_addr + TEXT_OFFSET;
- *reserve_size = kernel_memsize + TEXT_OFFSET;
+ *reserve_size = round_up(kernel_memsize +
+ TEXT_OFFSET,
+ EFI_PAGE_SIZE);
}
}
if (status != EFI_SUCCESS) {