public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Tinh Nguyen" <tinhnguyen@os.amperecomputing.com>
To: Oliver Smith-Denny <osd@smith-denny.com>,
	devel@edk2.groups.io, tinhnguyen@os.amperecomputing.com
Cc: patches@amperecomputing.com, quic_llindhol@quicinc.com,
	ardb+tianocore@kernel.org, nhi@os.amperecomputing.com,
	rebecca@bsdio.com
Subject: Re: [edk2-devel] [PATCH v3 1/1] ArmPkg/SmbiosMiscDxe: Adjust the priority of getting firmware version
Date: Wed, 22 Mar 2023 10:51:37 +0700	[thread overview]
Message-ID: <5e1be8e8-2af0-24db-2846-23f664c3c461@amperemail.onmicrosoft.com> (raw)
In-Reply-To: <cb72e0c0-1814-ca36-f0b6-d9854fcbbdd2@smith-denny.com>

Thanks Oliver

will be improved in the next version

- Tinh

On 3/21/2023 11:57 PM, Oliver Smith-Denny wrote:
> One nit below, otherwise:
>
> Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
>
> Thanks!
>
> On 3/20/2023 8:16 PM, Tinh Nguyen via groups.io 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 <tinhnguyen@os.amperecomputing.com>
>> Reviewed-by: Rebecca Cran <rebecca@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 <rebecca@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.
>
> nit: this function comment seems a bit at odds with the name of the 
> function (i.e. the comment says it gets the FW version, but the name 
> of the function is SetBiosVersion, which I see was changed in this 
> patch). Perhaps updating the comment to indicate it retrieves the BIOS 
> version from OemMiscLib or PcdFirmwareVersionString and then sets it 
> in SMBIOS.
>
>>   -  @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
>>
>>
>> 
>>
>>

  reply	other threads:[~2023-03-22  3:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-21  3:16 [PATCH v3 1/1] ArmPkg/SmbiosMiscDxe: Adjust the priority of getting firmware version Tinh Nguyen
2023-03-21 16:57 ` [edk2-devel] " Oliver Smith-Denny
2023-03-22  3:51   ` Tinh Nguyen [this message]
2023-03-22  3:38 ` Tinh Nguyen
2023-03-24 18:29   ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e1be8e8-2af0-24db-2846-23f664c3c461@amperemail.onmicrosoft.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox