[PATCH 3/5 v2] cmd: efidebug: Add support for querying UEFI variable storage

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue May 12 06:02:55 CEST 2020


On Mon, May 11, 2020 at 08:54:04PM +0200, Heinrich Schuchardt wrote:
> On 5/11/20 8:14 PM, Ilias Apalodimas wrote:
> > With the previous patches that use OP-TEE and StandAloneMM for UEFI
> > variable storage we've added functionality for efi_query_variable_info.
> > So let's add the relevant command to efidebug and retrieve information
> > about the container used to store UEFI variables
> >
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> 
> For now attributes (e.g. EFI_VARIABLE_NON_VOLATILE) cannot be passed to
> the 'efidebug query' sub-command instead a fixed value is used. We can
> add attributes on the command line later.

Good point, I'll add it on the commit message for v3

> 
> > ---
> >  cmd/efidebug.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 43 insertions(+), 1 deletion(-)
> >
> > diff --git a/cmd/efidebug.c b/cmd/efidebug.c
> > index d8a76d78a388..a3980772c934 100644
> > --- a/cmd/efidebug.c
> > +++ b/cmd/efidebug.c
> > @@ -1160,6 +1160,44 @@ static int do_efi_test(cmd_tbl_t *cmdtp, int flag,
> >  	return cp->cmd(cmdtp, flag, argc, argv);
> >  }
> >
> > +/**
> > + * do_efi_query_info() - QueryVariableInfo EFI service
> > + *
> > + * @cmdtp:	Command table
> > + * @flag:	Command flag
> > + * @argc:	Number of arguments
> > + * @argv:	Argument array
> > + * Return:	CMD_RET_SUCCESS on success,
> > + *		CMD_RET_USAGE or CMD_RET_FAILURE on failure
> > + *
> > + * Implement efidebug "test" sub-command.
> > + */
> > +
> > +static int do_efi_query_info(cmd_tbl_t *cmdtp, int flag,
> > +			     int argc, char * const argv[])
> > +{
> > +	efi_status_t ret;
> > +	u32 attr = EFI_VARIABLE_BOOTSERVICE_ACCESS |
> > +			EFI_VARIABLE_RUNTIME_ACCESS |
> > +			EFI_VARIABLE_NON_VOLATILE;
> 
> As we do not support variables at runtime currently shouldn't we remove
> EFI_VARIABLE_RUNTIME_ACCESS from the default value? I could do that when
> merging.

We can still add variables marked as runtime in U-Boot's cmd line although we
don't support those in Linux. So I'd keep that flag on the defaults.

> 
> Otherwise:
> 
> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> 

Regards
/Ilias


More information about the U-Boot mailing list