[PATCH v5 1/4] efi_loader: get version information from device tree

Simon Glass sjg at chromium.org
Wed May 10 22:46:22 CEST 2023


Hi Heinrich,

On Thu, 27 Apr 2023 at 22:12, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
>
>
> Am 28. April 2023 01:35:04 MESZ schrieb Simon Glass <sjg at chromium.org>:
> >Hi Masahisa,
> >
> >On Mon, 10 Apr 2023 at 03:07, Masahisa Kojima
> ><masahisa.kojima at linaro.org> wrote:
> >>
> >> Current FMP->GetImageInfo() always return 0 for the firmware
> >> version, user can not identify which firmware version is currently
> >> running through the EFI interface.
> >>
> >> This commit gets the version information from device tree,
> >> then fills the firmware version, lowest supported version
> >> in FMP->GetImageInfo().
> >>
> >> Now FMP->GetImageInfo() and ESRT have the meaningful version number.
> >>
> >> Signed-off-by: Masahisa Kojima <masahisa.kojima at linaro.org>
> >> ---
> >> Changes in v5:
> >> - newly implement a device tree based versioning
> >>
> >>  .../firmware/firmware-version.txt             | 25 ++++++++
> >>  lib/efi_loader/efi_firmware.c                 | 63 +++++++++++++++++--
> >>  2 files changed, 84 insertions(+), 4 deletions(-)
> >>  create mode 100644 doc/device-tree-bindings/firmware/firmware-version.txt
> >>
> >> diff --git a/doc/device-tree-bindings/firmware/firmware-version.txt b/doc/device-tree-bindings/firmware/firmware-version.txt
> >> new file mode 100644
> >> index 0000000000..6112de4a1d
> >> --- /dev/null
> >> +++ b/doc/device-tree-bindings/firmware/firmware-version.txt
> >> @@ -0,0 +1,25 @@
> >> +firmware-version bindings
> >> +-------------------------------
> >> +
> >> +Required properties:
> >> +- image-type-id                        : guid for image blob type
> >> +- image-index                  : image index
> >> +- fw-version                   : firmware version
> >> +- lowest-supported-version     : lowest supported version
> >> +
> >> +Example:
> >> +
> >> +       firmware-version {
> >> +               image1 {
> >> +                       image-type-id = "09D7CF52-0720-4710-91D1-08469B7FE9C8";
> >
> >Nit: please use lower-case hex and add a decoder to uuid.c so we can
> >look it up when debugging.
>
> The GUIDs are board specific. No, we should not clutter uuid.c with strings for dozens of boards. Our development aim is to keep U-Boot small and these GUIDs are not printed anywhere.
>
> Instead we should define a string per firmware image. We already have a field for it:
>
> fw_array[i].fw_name

This is of course madness. NAK to any UUIDs in U-Boot that don't have
a decoder ring.

Let's use a compatible string (vendor,board) and drop these silly UUIDs.

Regards,
Simon


More information about the U-Boot mailing list