[U-Boot] [PATCH 03/23] efi_loader: support 16 protocols per efi_object
Alexander Graf
agraf at suse.de
Sat Sep 2 22:26:43 UTC 2017
> Am 02.09.2017 um 20:14 schrieb Rob Clark <robdclark at gmail.com>:
>
>> On Thu, Aug 31, 2017 at 10:01 AM, Alexander Graf <agraf at suse.de> 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.glpk at 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.
>>
>
> Can we go w/ fixed 16 protocols length for now? A list is a
> definitely a better option, and it will be easier after "efi_loader:
> refactor boot device and loaded_image handling" (which gets rid of the
> statically initialized efi_object's). After that we can drop the
> fixed length array and add an 'void append_protocol(efiobj, guid,
> handle)' helper fairly easily.
Sure, of course :)
Alex
>
> BR,
> -R
More information about the U-Boot
mailing list