[edk2-devel] [PATCH v5 00/23] ArmPkg, MdePkg: Add Universal/Smbios, and related changes

Samer El-Haj-Mahmoud samer.el-haj-mahmoud at arm.com
Tue Jan 5 22:14:30 UTC 2021


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 at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Rebecca
> Cran via groups.io
> Sent: Monday, January 4, 2021 5:58 PM
> To: devel at edk2.groups.io
> Cc: Rebecca Cran <rebecca at nuviainc.com>; Leif Lindholm
> <leif at nuviainc.com>; Ard Biesheuvel <Ard.Biesheuvel at arm.com>; Sami
> Mujawar <Sami.Mujawar at arm.com>; Liming Gao
> <gaoliming at byosoft.com.cn>; Michael D Kinney
> <michael.d.kinney at intel.com>; Zhiguang Liu <zhiguang.liu at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list