Re: [PATCH v5 1/4] efi_loader: get version information from device tree
Heinrich Schuchardt
xypron.glpk at gmx.de
Fri Apr 28 06:07:29 CEST 2023
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
Best regards
Heinrich
>
>> + image-index = <1>;
>> + fw-version = <5>;
>> + lowest-supported-version = <3>;
>> + };
>> + image2 {
>> + image-type-id = "5A7021F5-FEF2-48B4-AABA-832E777418C0";
>> + image-index = <2>;
>> + fw-version = <10>;
>> + lowest-supported-version = <7>;
>> + };
>> + };
>[..]
>
>Regards,
>Simon
More information about the U-Boot
mailing list