[U-Boot] [PATCH v2 1/2] efi_loader: implement GetNextVariableName()
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Jan 21 07:14:20 UTC 2019
On 1/21/19 4:10 AM, AKASHI Takahiro wrote:
> The current GetNextVariableName() is a placeholder.
> With this patch, it works well as expected.
>
> Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
> ---
> lib/efi_loader/efi_variable.c | 154 +++++++++++++++++++++++++++++++++-
> 1 file changed, 152 insertions(+), 2 deletions(-)
>
> diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c
> index 19d9cb865f25..398680289df0 100644
> --- a/lib/efi_loader/efi_variable.c
> +++ b/lib/efi_loader/efi_variable.c
> @@ -8,6 +8,9 @@
> #include <malloc.h>
> #include <charset.h>
> #include <efi_loader.h>
> +#include <environment.h>
> +#include <search.h>
> +#include <uuid.h>
>
> #define READ_ONLY BIT(31)
>
> @@ -241,14 +244,161 @@ efi_status_t EFIAPI efi_get_variable(u16 *variable_name, efi_guid_t *vendor,
> return EFI_EXIT(EFI_SUCCESS);
> }
>
> -/* http://wiki.phoenix.com/wiki/index.php/EFI_RUNTIME_SERVICES#GetNextVariableName.28.29 */
> +static char *efi_variables_list;
> +static char *efi_cur_variable;
> +
> +/**
> + * parse_uboot_variable() - parse a u-boot variable and get uefi-related
> + * information
> + * @variable: whole data of u-boot variable (ie. name=value)
> + * @variable_name_size: size of variable_name buffer in byte
> + * @variable_name: name of uefi variable in u16, null-terminated
> + * @vendor: vendor's guid
> + * @attributes: attributes
> + *
> + * A uefi variable is encoded into a u-boot variable as described above.
> + * This function parses such a u-boot variable and retrieve uefi-related
> + * information into respective parameters. In return, variable_name_size
> + * is the size of variable name including NULL.
> + *
> + * Return: EFI_SUCCESS if parsing is OK, EFI_NOT_FOUND when
> + the entire variable list has been returned,
> + otherwise non-zero status code
> + */
> +static efi_status_t parse_uboot_variable(char *variable,
> + efi_uintn_t *variable_name_size,
> + u16 *variable_name,
> + efi_guid_t *vendor,
Make this
const efi_guid_t *vendor,
to avoid a build warning with current efi-next.
Please, rebase the patch on efi-next.
Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
More information about the U-Boot
mailing list