From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heinrich Schuchardt Date: Wed, 30 Dec 2020 20:32:20 +0100 Subject: [PATCH 5/8 v2] efi_loader: bootmgr: Use get_var from efi_helper file In-Reply-To: <20201230150722.154663-6-ilias.apalodimas@linaro.org> References: <20201230150722.154663-1-ilias.apalodimas@linaro.org> <20201230150722.154663-6-ilias.apalodimas@linaro.org> Message-ID: <8adcea5e-fc2f-6582-84ed-70a9565f0769@gmx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/30/20 4:07 PM, Ilias Apalodimas wrote: > A few patches before we introduced a file which includes the get_var_efi() > function defined in the efi bootmanager. > So let's replace it here and use the common function as much as we can. > > Signed-off-by: Ilias Apalodimas > --- > lib/efi_loader/Makefile | 2 +- > lib/efi_loader/efi_bootmgr.c | 37 +++--------------------------------- > 2 files changed, 4 insertions(+), 35 deletions(-) > > diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile > index cd4b252a417c..a47160189c42 100644 > --- a/lib/efi_loader/Makefile > +++ b/lib/efi_loader/Makefile > @@ -21,7 +21,7 @@ targets += helloworld.o > endif > > obj-$(CONFIG_CMD_BOOTEFI_HELLO) += helloworld_efi.o > -obj-y += efi_bootmgr.o > +obj-y += efi_helper.o efi_bootmgr.o > obj-y += efi_boottime.o > obj-y += efi_console.o > obj-y += efi_device_path.o > diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c > index 61dc72a23da8..0221fd1261b3 100644 > --- a/lib/efi_loader/efi_bootmgr.c > +++ b/lib/efi_loader/efi_bootmgr.c > @@ -11,6 +11,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -165,38 +166,6 @@ unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data) > return size; > } > > -/** > - * get_var() - get UEFI variable > - * > - * It is the caller's duty to free the returned buffer. > - * > - * @name: name of variable > - * @vendor: vendor GUID of variable > - * @size: size of allocated buffer > - * Return: buffer with variable data or NULL > - */ > -static void *get_var(u16 *name, const efi_guid_t *vendor, > - efi_uintn_t *size) > -{ > - efi_status_t ret; > - void *buf = NULL; > - > - *size = 0; > - ret = efi_get_variable_int(name, vendor, NULL, size, buf, NULL); > - if (ret == EFI_BUFFER_TOO_SMALL) { > - buf = malloc(*size); > - ret = efi_get_variable_int(name, vendor, NULL, size, buf, NULL); > - } > - > - if (ret != EFI_SUCCESS) { > - free(buf); > - *size = 0; > - return NULL; > - } > - > - return buf; > -} > - > /** > * try_load_entry() - try to load image for boot option > * > @@ -224,7 +193,7 @@ static efi_status_t try_load_entry(u16 n, efi_handle_t *handle, > varname[6] = hexmap[(n & 0x00f0) >> 4]; > varname[7] = hexmap[(n & 0x000f) >> 0]; > > - load_option = get_var(varname, &efi_global_variable_guid, &size); > + load_option = get_var_efi(varname, &efi_global_variable_guid, &size); > if (!load_option) > return EFI_LOAD_ERROR; > > @@ -336,7 +305,7 @@ efi_status_t efi_bootmgr_load(efi_handle_t *handle, void **load_options) > } > > /* BootOrder */ > - bootorder = get_var(L"BootOrder", &efi_global_variable_guid, &size); > + bootorder = get_var_efi(L"BootOrder", &efi_global_variable_guid, &size); efi_var_get() would be more in line with our naming of other UEFI related functions. Best regards Heinrich > if (!bootorder) { > log_info("BootOrder not defined\n"); > ret = EFI_NOT_FOUND; >