From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Sun, 3 Sep 2017 00:26:43 +0200 Subject: [U-Boot] [PATCH 03/23] efi_loader: support 16 protocols per efi_object In-Reply-To: References: <20170826225110.7381-1-xypron.glpk@gmx.de> <20170826225110.7381-4-xypron.glpk@gmx.de> Message-ID: <24824C40-F63D-40C7-B148-97F1039CFEB0@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > Am 02.09.2017 um 20:14 schrieb Rob Clark : > >> On Thu, Aug 31, 2017 at 10:01 AM, 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 >>> --- >>> 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