Rebecca,
I did quick review of parts of the patch, mostly compared against the RPi4 implementation which has been validated in the past.
On the platform on which you are implementing this, are you able to run the FWTS SMBIOS tests and confirm that everything passes?
Also, one question on the patch in general: Any reason why not to include the nuvia copyright header in these files?
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca
> Cran via groups.io
> Sent: Monday, January 4, 2021 5:58 PM
> To: devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@nuviainc.com>; Leif Lindholm
> <leif@nuviainc.com>; Ard Biesheuvel <Ard.Biesheuvel@arm.com>; Sami
> Mujawar <Sami.Mujawar@arm.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Michael D Kinney
> <michael.d.kinney@intel.com>; Zhiguang Liu <zhiguang.liu@intel.com>
> Subject: [edk2-devel] [PATCH v5 00/23] ArmPkg,MdePkg: Add
> Universal/Smbios, and related changes
>
> Much of the data for the SMBIOS tables is generic, and need not be
> duplicated for each platform. This patch series introduces
> ArmPkg/Universal/Smbios, which is largely copied from edk2-
> platforms/Silicon/HiSilicon/Drivers/Smbios and generates SMBIOS tables
> 0,1,2,3,4,7,13,32 and uses a combination of PCDs and calls into a new
> OemMiscLib to get information which varies between platforms.
>
> I plan to submit a patch against SbsaQemu to update it to use this new
> functionality.
>
> Changes from v4 to v5:
>
> - Incorporated changes based on v4 feedback.
> - Fixed several issues reported by the Ecc tool.
> - Fixed AARCH32 cache size code when CCIDX is supported.
> - Added OemMiscLibNull.
> - Added Universal/Smbios modules to ArmPkg.dsc.
>
> I know I've probably split this up into too many patches, but I realized it was
> easier to do this and subsequently squash them than the other way around.
>
> Personal build PR: https://github.com/tianocore/edk2/pull/1286
>
> Rebecca Cran (23):
> ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h
> MdePkg: Update IndustryStandard/SmBios.h with processor status data
> ArmPkg: Add register encoding definition for MMFR2
> ArmPkg: Add helper to read the Memory Model Features Register 2
> ArmPkg: Add helper function to read the Memory Model Feature Register
> 4
> ArmPkg: Fix the return type of the ReadCCSIDR function
> ArmPkg: Update ArmLibPrivate.h with cache register definitions
> ArmPkg: Add definition of the maximum cache level in ARMv8-A
> ArmPkg: Add helper to read CCIDX status
> ArmPkg: Add helper to read the CCSIDR2 register
> ArmPkg: Add Universal/Smbios/ProcessorSubClassDxe
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type00
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type01
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type02
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type03
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type13
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type32
> ArmPkg: Add Universal/Smbios/SmbiosMiscDxe
> ArmPkg: Add Library/OemMiscLib.h
> ArmPkg: Add Universal/Smbios/OemMiscLibNull
> ArmPkg: Add OemMiscLibNull instance to ArmPkg.dsc
> ArmPkg: Add SMBIOS PCDs to ArmPkg.dec
> ArmPkg: Add Universal/Smbios drivers to ArmPkg.dsc
>
> ArmPkg/ArmPkg.dec | 14 +
> ArmPkg/ArmPkg.dsc | 5 +
> ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
> | 31 +
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
> | 57 ++
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
> | 86 ++
> ArmPkg/Include/Chipset/AArch64.h | 4 +
> ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 16
> +
> ArmPkg/Include/Library/ArmLib.h | 15 +
> ArmPkg/Include/Library/OemMiscLib.h | 159 ++++
> ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h | 11 +
> ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h | 8 +-
> ArmPkg/Library/ArmLib/ArmLibPrivate.h | 117 ++-
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
> | 136 +++
> MdePkg/Include/IndustryStandard/SmBios.h | 13 +
> ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c | 17 +
> ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c | 17 +
> ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
> | 140 ++++
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
> | 863 ++++++++++++++++++++
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c
> | 61 ++
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c
> | 184 +++++
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorData.c
> | 92 +++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunctio
> n.c | 281 +++++++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> erData.c | 35 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> erFunction.c | 178 ++++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turerData.c | 45 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turerFunction.c | 207 +++++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> erData.c | 51 ++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> erFunction.c | 208 +++++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguagesData.c | 32 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguagesFunction.c | 156 ++++
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationDat
> a.c | 34 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFu
> nction.c | 66 ++
> ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 3
> +
> ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S |
> 2 +-
> ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S | 16
> +-
> ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm |
> 16 +-
>
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassStrings.
> uni | 23 +
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni
> | 21 +
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendor.uni
> | 17 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> er.uni | 20 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turer.uni | 20 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> er.uni | 17 +
>
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguages.uni | 42 +
> 43 files changed, 3530 insertions(+), 6 deletions(-) create mode 100644
> ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
> create mode 100644
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
> create mode 100644 ArmPkg/Include/Library/OemMiscLib.h
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
> create mode 100644
> ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
> create mode 100644
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorData.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunctio
> n.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> erData.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> erFunction.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turerData.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turerFunction.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> erData.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> erFunction.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguagesData.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguagesFunction.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationDat
> a.c
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFu
> nction.c
> create mode 100644
> ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassStrings.
> uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendor.uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufactur
> er.uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufac
> turer.uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufactur
> er.uni
> create mode 100644
> ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallabl
> eLanguages.uni
>
> --
> 2.26.2
>
>
>
>
>
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 (#69758): https://edk2.groups.io/g/devel/message/69758
Mute This Topic: https://groups.io/mt/79438395/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-