Hi Tinh,

Sorry, was waiting for a v4 based on your last reply to Oliver.

Yes, from my end (with Oliver's feedback addressed):
Reviewed-by: Leif Lindholm <quic_llind...@quicinc.com>

/
    Leif

On Wed, Mar 22, 2023 at 10:38:21 +0700, Tinh Nguyen wrote:
> Hi Leif,
> 
> Do you have any concerns? Could I add you to the review list?
> 
> Thanks,
> 
> Tinh
> 
> On 3/21/2023 10:16 AM, 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.
> > 
> > Signed-off-by: Tinh Nguyen <tinhngu...@os.amperecomputing.com>
> > Reviewed-by: Rebecca Cran <rebe...@bsdio.com>
> > ---
> > 
> > Changes since v1:
> >    + Change GetBiosVersion () to SetBiosVersion () and move the selection 
> > logic
> >    fully into SetBiosVersion ().
> > Changes since v2:
> >    + Add Reviewed-by: Rebecca Cran <rebe...@bsdio.com> and remove @retval
> >    VOID
> > 
> >   ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c | 
> > 57 ++++++++++++--------
> >   1 file changed, 35 insertions(+), 22 deletions(-)
> > 
> > diff --git 
> > a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c 
> > b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
> > index 66ead22a6e2c..876a74614285 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>
> > @@ -124,22 +124,46 @@ GetBiosReleaseDate (
> >     return ReleaseDate;
> >   }
> > -/**
> > -  Fetches the firmware ('BIOS') version from the
> > -  FirmwareVersionInfo HOB.
> > +/**  Fetches the Firmware version string for SMBIOS type 0
> > +
> > +  This function get the Firmware version string from OemMiscLib first,
> > +  if it is invalid then PcdFirmwareVersionString is used as a fallback.
> > -  @return The version as a UTF-16 string
> >   **/
> > -CHAR16 *
> > -GetBiosVersion (
> > +VOID
> > +SetBiosVersion (
> >     VOID
> >     )
> >   {
> > -  CHAR16  *ReleaseString;
> > +  CHAR16         *DefaultVersionString;
> > +  CHAR16         *Version;
> > +  EFI_STRING_ID  TokenToUpdate;
> > -  ReleaseString = (CHAR16 *)FixedPcdGetPtr (PcdFirmwareVersionString);
> > +  DefaultVersionString = HiiGetString (
> > +                           mSmbiosMiscHiiHandle,
> > +                           STRING_TOKEN (STR_MISC_BIOS_VERSION),
> > +                           NULL
> > +                           );
> > -  return ReleaseString;
> > +  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 = (CHAR16 *)FixedPcdGetPtr (PcdFirmwareVersionString);
> > +    if (StrLen (Version) > 0) {
> > +      TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);
> > +      HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL);
> > +    }
> > +  }
> >   }
> >   /**
> > @@ -187,18 +211,7 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) {
> >       HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Vendor, NULL);
> >     }
> > -  Version = GetBiosVersion ();
> > -
> > -  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
> > -      );
> > -  }
> > +  SetBiosVersion ();
> >     Char16String = GetBiosReleaseDate ();
> >     if (StrLen (Char16String) > 0) {
> > --
> > 2.39.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101817): https://edk2.groups.io/g/devel/message/101817
Mute This Topic: https://groups.io/mt/97748102/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to