On 08/31/2017 04:01 PM, Alexander Graf wrote: > On 08/27/2017 12:51 AM, Heinrich Schuchardt wrote: >> 8 protocols per efi_object is insufficient for iPXE. >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >> --- >> include/efi_loader.h | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/include/efi_loader.h b/include/efi_loader.h >> index 6f71a6202b..e8fb4fbb0a 100644 >> --- a/include/efi_loader.h >> +++ b/include/efi_loader.h >> @@ -99,8 +99,8 @@ struct efi_handler { >> struct efi_object { >> /* Every UEFI object is part of a global object list */ >> struct list_head link; >> - /* We support up to 8 "protocols" an object can be accessed >> through */ >> - struct efi_handler protocols[8]; >> + /* We support up to 16 "protocols" an object can be accessed >> through */ >> + struct efi_handler protocols[16]; > > Can you try to convert it into a list instead? Leif tried to make the > UEFI Shell work and stumbled over the same limitation, so I guess a > static array won't cut it for long. > > > Alex > >
Hello Alex, is it safe to call malloc and free before efi_exit_boot_services? Currently we do not check that boottime services are not called after efi_exit_boot_services. Shouldn't every call to boottime services fail thereafter? The spec says: "After successfully calling ExitBootServices(), all boot services in the system are terminated." We definitively do not want to call malloc at runtime because all available memory (except for EFI_MEMORY_RUNTIME) is managed by the operating system. Best regards Heinrich _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot