On 16.09.18 22:42, Heinrich Schuchardt wrote: > On 09/17/2018 04:45 AM, Alexander Graf wrote: >> The UEFI spec mandates that runtime sections are 64kb aligned to enable > %s/kb/ kiB/g > The spec requires a multiple of 64,000 not of 65,536.
The other way around you mean I guess? We do usually use "kb" for multiples of 1024 though, no? > >> support for 64kb page size OSs. >> >> This patch ensures that we extend the runtime section to 64kb to be spec >> compliant. >> >> Signed-off-by: Alexander Graf <ag...@suse.de> >> --- >> lib/efi_loader/efi_memory.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c >> index 4f8cb545ad..66ad54a152 100644 >> --- a/lib/efi_loader/efi_memory.c >> +++ b/lib/efi_loader/efi_memory.c >> @@ -11,6 +11,7 @@ >> #include <mapmem.h> >> #include <watchdog.h> >> #include <linux/list_sort.h> >> +#include <linux/sizes.h> >> >> DECLARE_GLOBAL_DATA_PTR; >> >> @@ -526,10 +527,10 @@ static void add_u_boot_and_runtime(void) >> uboot_pages = (gd->ram_top - uboot_start) >> EFI_PAGE_SHIFT; >> efi_add_memory_map(uboot_start, uboot_pages, EFI_LOADER_DATA, false); >> >> - /* Add Runtime Services */ >> - runtime_start = (ulong)&__efi_runtime_start & ~EFI_PAGE_MASK; >> + /* Add Runtime Services,must be 64kb aligned */ >> + runtime_start = (ulong)&__efi_runtime_start & ~(SZ_64K - 1); > > Please, add a comment in the code referring to the requirement in the > UEFI spec. Sure, it's part of 2.6.3 (AArch64 Platforms) in the 2.7 spec. Alex _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot