From a7b8dd7ada494cd785e8fbd16a6e965304d7a923 Mon Sep 17 00:00:00 2001 From: Axel Heider Date: Fri, 22 Mar 2024 11:48:34 +0100 Subject: [PATCH] elfloader: avoid redundant calculation Signed-off-by: Axel Heider --- elfloader-tool/src/common.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/elfloader-tool/src/common.c b/elfloader-tool/src/common.c index 9846422f..58e057e7 100644 --- a/elfloader-tool/src/common.c +++ b/elfloader-tool/src/common.c @@ -430,6 +430,9 @@ int load_images( return -1; } + /* Reserve space for the kernel, keep next start address page aligned. */ + next_phys_addr = ROUND_UP(kernel_phys_end, PAGE_BITS); + void const *dtb = NULL; #ifdef CONFIG_ELFLOADER_INCLUDE_DTB @@ -465,9 +468,7 @@ int load_images( * Move the DTB out of the way, if it's present. */ if (dtb) { - /* keep it page aligned */ - next_phys_addr = dtb_phys_start = ROUND_UP(kernel_phys_end, PAGE_BITS); - + dtb_phys_start = next_phys_addr; size_t dtb_size = fdt_size(dtb); if (0 == dtb_size) { printf("ERROR: Invalid device tree blob supplied\n"); @@ -491,8 +492,6 @@ int load_images( printf(" paddr=[%p..%p]\n", dtb_phys_start, dtb_phys_end - 1); *chosen_dtb = (void *)dtb_phys_start; *chosen_dtb_size = dtb_size; - } else { - next_phys_addr = ROUND_UP(kernel_phys_end, PAGE_BITS); } /* Load the kernel */