On Wed, 9 Oct 2024 at 05:56, Heinrich Schuchardt <[email protected]> wrote: > > From: Simon Glass <[email protected]> > > Show the firmware vendor and revision to make it clear which firmware is > used, e.g. whether U-Boot is providing the boot services. > > The output will look like > > Firmware vendor: Das U-Boot > Firmware revision: 20241000 > > Signed-off-by: Simon Glass <[email protected]> > Signed-off-by: Heinrich Schuchardt <[email protected]> > --- > lib/efi_loader/helloworld.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) >
Reviewed-by: Simon Glass <[email protected]> > diff --git a/lib/efi_loader/helloworld.c b/lib/efi_loader/helloworld.c > index 586177de0c8..f9154386472 100644 > --- a/lib/efi_loader/helloworld.c > +++ b/lib/efi_loader/helloworld.c > @@ -71,6 +71,33 @@ static void uint2dec(u32 value, u16 **buf) > *buf = pos; > } > > +/* > + * Print an unsigned 32bit value as hexadecimal number to an u16 string > + * > + * @value: value to be printed > + * @buf: pointer to buffer address > + * on return position of terminating zero word > + */ > +static void uint2hex(u32 value, u16 **buf) > +{ > + u16 *pos = *buf; > + int i; > + u16 c; > + > + for (i = 0; i < 8; ++i) { > + /* Write current digit */ > + c = value >> 28; > + value <<= 4; > + if (c < 10) > + c += '0'; > + else > + c += 'a' - 10; > + *pos++ = c; > + } > + *pos = 0; > + *buf = pos; > +} > + > /** > * print_uefi_revision() - print UEFI revision number > */ > @@ -96,6 +123,16 @@ static void print_uefi_revision(void) > con_out->output_string(con_out, u"Running on UEFI "); > con_out->output_string(con_out, rev); > con_out->output_string(con_out, u"\r\n"); > + > + con_out->output_string(con_out, u"Firmware vendor: "); > + con_out->output_string(con_out, systable->fw_vendor); > + con_out->output_string(con_out, u"\r\n"); > + > + buf = rev; > + uint2hex(systable->fw_revision, &buf); > + con_out->output_string(con_out, u"Firmware revision: "); > + con_out->output_string(con_out, rev); > + con_out->output_string(con_out, u"\r\n"); > } > > /** > -- > 2.45.2 >

