[edk2-devel] [PATCH 1/1] ArmPkg/SmbiosMiscDxe: Adjust the priority of getting firmware version

Tinh Nguyen via groups.io tinhnguyen=os.amperecomputing.com at groups.io
Thu Mar 16 08:30:26 UTC 2023


+ Rebecca

Could you kindly help me in reviewing this patch?

Thanks,

- Tinh

On 13/03/2023 13:43, Tinh Nguyen wrote:
> The BIOS Firmware Version in the SMBIOS Type 0 can be fetched from
> the fixed PcdFirmwareVersionString or platform specific OemMiscLib.
> In fact, the support from OemMiscLib comes into play when the firmware
> version may be modified at boot time for extended information.
>
> Therefore, the priority of getting the version from OemMiscLib should
> be higher. In case there is no modification in the OemMiscLib,
> we have to keep HII string STR_MISC_BIOS_VERSION empty or 'Not Specified'
> to indicate that the firmware version should be fetched from
> the PcdFirmwareVersionString.
>
> Reviewed-by: Nhi Pham <nhi at os.amperecomputing.com>
> Signed-off-by: Tinh Nguyen <tinhnguyen at os.amperecomputing.com>
> ---
>   ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c | 36 ++++++++++++++------
>   1 file changed, 25 insertions(+), 11 deletions(-)
>
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
> index 66ead22a6e2c..31a3f6cde544 100644
> --- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
> @@ -1,6 +1,6 @@
>   /** @file
>   
> -  Copyright (c) 2022, Ampere Computing LLC. All rights reserved.<BR>
> +  Copyright (c) 2022 - 2023, Ampere Computing LLC. All rights reserved.<BR>
>     Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>
>     Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
>     Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> @@ -170,6 +170,7 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) {
>     EFI_STRING_ID       TokenToGet;
>     SMBIOS_TABLE_TYPE0  *SmbiosRecord;
>     SMBIOS_TABLE_TYPE0  *InputData;
> +  CHAR16              *DefaultVersionString;
>   
>     //
>     // First check for invalid parameters.
> @@ -187,17 +188,30 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) {
>       HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Vendor, NULL);
>     }
>   
> -  Version = GetBiosVersion ();
> +  DefaultVersionString = HiiGetString (
> +                           mSmbiosMiscHiiHandle,
> +                           STRING_TOKEN (STR_MISC_BIOS_VERSION),
> +                           NULL
> +                           );
>   
> -  if (StrLen (Version) > 0) {
> -    TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);
> -    HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL);
> -  } else {
> -    OemUpdateSmbiosInfo (
> -      mSmbiosMiscHiiHandle,
> -      STRING_TOKEN (STR_MISC_BIOS_VERSION),
> -      BiosVersionType00
> -      );
> +  OemUpdateSmbiosInfo (
> +    mSmbiosMiscHiiHandle,
> +    STRING_TOKEN (STR_MISC_BIOS_VERSION),
> +    BiosVersionType00
> +    );
> +
> +  Version = HiiGetString (
> +              mSmbiosMiscHiiHandle,
> +              STRING_TOKEN (STR_MISC_BIOS_VERSION),
> +              NULL
> +              );
> +
> +  if (((StrCmp (Version, DefaultVersionString) == 0) || (StrLen (Version) == 0))) {
> +    Version = GetBiosVersion ();
> +    if (StrLen (Version) > 0) {
> +      TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);
> +      HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL);
> +    }
>     }
>   
>     Char16String = GetBiosReleaseDate ();


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101264): https://edk2.groups.io/g/devel/message/101264
Mute This Topic: https://groups.io/mt/97575576/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list