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
>>
>>
>>
>>
>>
next prev parent 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