Hi Rebecca, Thank you for this patch. These changes look good to me.
Reviewed-by: Sami Mujawar <sami.muja...@arm.com> Regards, Sami Mujawar On 04/10/2021 05:22 PM, Rebecca Cran wrote:
According to the SMBIOS specification, the ExtendedBiosSize field should be zero when the BIOS size is less than 16MB: "Size (n) where 64K * (n+1) is the size of the physical device containing the BIOS, in bytes. FFh - size is 16MB or greater, see Extended BIOS ROM Size for actual size." Fix the code in MiscBiosVendorFunction.c to only populate the ExtendedBiosSize field if the BIOS size is greater than 16MB. Fix the code to correctly populate the ExtendedBiosSize field with the unit bits set to MB if the size is between 16MB and 16GB. Signed-off-by: Rebecca Cran <rebe...@nuviainc.com> --- ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c index 5aea32521bd3..5679ebaac8a5 100644 --- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c @@ -240,11 +240,12 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) SmbiosRecord->BiosSegment = (UINT16)(FixedPcdGet32 (PcdFdBaseAddress) / SIZE_64KB); if (BiosPhysicalSize < SIZE_16MB) { SmbiosRecord->BiosSize = Base2ToByteWith64KUnit (BiosPhysicalSize) - 1; - SmbiosRecord->ExtendedBiosSize.Size = BiosPhysicalSize / SIZE_1MB; - SmbiosRecord->ExtendedBiosSize.Unit = 0; // Size is in MB } else { SmbiosRecord->BiosSize = 0xFF; - if (BiosPhysicalSize > 0x3FFF) { + if (BiosPhysicalSize < SIZE_16GB) { + SmbiosRecord->ExtendedBiosSize.Size = BiosPhysicalSize / SIZE_1MB; + SmbiosRecord->ExtendedBiosSize.Unit = 0; // Size is in MB + } else { SmbiosRecord->ExtendedBiosSize.Size = BiosPhysicalSize / SIZE_1GB; SmbiosRecord->ExtendedBiosSize.Unit = 1; // Size is in GB }
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81459): https://edk2.groups.io/g/devel/message/81459 Mute This Topic: https://groups.io/mt/86071273/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-