[PATCH v8 19/25] x86: efi: Show the system-table revision

Simon Glass sjg at chromium.org
Tue Jan 4 11:52:16 CET 2022


Hi Heinrich,

On Thu, 30 Dec 2021 at 23:46, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 12/29/21 19:57, Simon Glass wrote:
> > Show the revision of this table as it can be important.
> >
> > Also update the 'efi table' entry to show the actual address of the EFI
> > table rather than our table that points to it. This saves a step and the
> > intermediate table has nothing else in it.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v6)
> >
> > Changes in v6:
> > - Fix Alo typo in commit message
> >
> > Changes in v5:
> > - Fix grammar in commit message
> >
> > Changes in v3:
> > - Add new patch to show the system-table revision
> >
> >   arch/x86/cpu/efi/payload.c | 9 ++++++++-
> >   1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/cpu/efi/payload.c b/arch/x86/cpu/efi/payload.c
> > index d2aa889a2b9..b7778565b19 100644
> > --- a/arch/x86/cpu/efi/payload.c
> > +++ b/arch/x86/cpu/efi/payload.c
> > @@ -7,6 +7,7 @@
> >   #include <common.h>
> >   #include <cpu_func.h>
> >   #include <efi.h>
> > +#include <efi_api.h>
> >   #include <errno.h>
> >   #include <init.h>
> >   #include <log.h>
> > @@ -296,8 +297,14 @@ void setup_efi_info(struct efi_info *efi_info)
> >   void efi_show_bdinfo(void)
> >   {
> >       struct efi_entry_systable *table = NULL;
> > +     struct efi_system_table *sys_table;
> >       int size, ret;
> >
> >       ret = efi_info_get(EFIET_SYS_TABLE, (void **)&table, &size);
> > -     bdinfo_print_num_l("efi_table", (ulong)table);
> > +     if (!ret) {
> > +             bdinfo_print_num_l("efi_table", table->sys_table);
> > +             sys_table = (struct efi_system_table *)(uintptr_t)
> > +                     table->sys_table;
> > +             bdinfo_print_num_l(" revision", sys_table->fw_revision);
>
> This will print "0x0000025A" for UEFI version 2.9.
> Should we print "2.9" instead?
>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

We coud...

The spec says (in it's strange hyphen-free style):

FirmwareRevision A firmware vendor specific value that identifies the
revision of the
system firmware for the platform.

How do you know the format of the value? For the OVMF version I see 0x00010000

Regards,
Simon


More information about the U-Boot mailing list