From: Simon Glass Date: Mon, 18 Jun 2018 14:08:25 +0000 (-0600) Subject: efi: Tidy up device-tree-size calculation in copy_fdt() X-Git-Tag: v2018.09-rc1~2^2~30 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bc9a638a1031a171f0b2dfa4438aa3903fa589ae;p=oweals%2Fu-boot.git efi: Tidy up device-tree-size calculation in copy_fdt() This is a bit confusing at present since it adds 4KB to the pointer, then rounds it up. It looks like a bug, but is not. Move the 4KB addition into a separate statement and expand the comment. Signed-off-by: Simon Glass Signed-off-by: Alexander Graf --- diff --git a/cmd/bootefi.c b/cmd/bootefi.c index a0fd1a3158..d0f2c032a2 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -148,8 +148,12 @@ static void *copy_fdt(void *fdt) fdt_ram_start = ram_start; } - /* Give us at least 4kb breathing room */ - fdt_size = ALIGN(fdt_size + 4096, EFI_PAGE_SIZE); + /* + * Give us at least 4KB of breathing room in case the device tree needs + * to be expanded later. Round up to the nearest EFI page boundary. + */ + fdt_size += 4096; + fdt_size = ALIGN(fdt_size + EFI_PAGE_SIZE - 1, EFI_PAGE_SIZE); fdt_pages = fdt_size >> EFI_PAGE_SHIFT; /* Safe fdt location is at 128MB */