public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v4 00/11] ArmPkg,MdePkg: Add Universal/Smbios and Drivers/FirmwareVersionInfoPeim
@ 2020-12-01  0:33 Rebecca Cran
  2020-12-01  0:33 ` [PATCH v4 01/11] ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h Rebecca Cran
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Rebecca Cran @ 2020-12-01  0:33 UTC (permalink / raw)
  To: devel
  Cc: Rebecca Cran, Michael D Kinney, Liming Gao, Zhiguang Liu,
	Leif Lindholm, Ard Biesheuvel, Sami Mujawar

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 v3 to v4:

- Split changes up into many more patches.
- Renamed VersionInfoHob to FirmwareVersionInfoHob.
- Refactored ProcessorSubClass.c to reduce function complexity.
- Removed BOM from .uni files.
- Added comment to OemMiscLib.h to clarify that the functions listed are
  to be implemented by the individual platforms.
- Added Doxygen comments in many places.
- Moved definition of MAX_ARM_CACHE_LEVEL to ArmPkg/Include/Library/ArmLib.h
- Addressed other review feedback.

Leif: I decided not to rename Smbios to SmBios because that capitalization doesn't
appear to be common. "SMBIOS" or "Smbios" seem more common, so I plan to submit a
patch to rename MdePkg/Include/IndustryStandard/SmBios to Smbios.h.

Rebecca Cran (11):
  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: Add helper to read CCIDX status
  ArmPkg: Fix the return type of the ReadCCSIDR function
  ArmPkg: Update ArmLibPrivate.h with cache register definitions
  ArmPkg: Add FirmwareVersionInfoPeim
  ArmPkg: Add Universal/Smbios, a generic SMBIOS library for ARM
  ArmPkg: Add definition of the maximum cache level in ARMv8-A

 ArmPkg/ArmPkg.dec                                                                       |   3 +
 ArmPkg/Drivers/FirmwareVersionInfoPeim/FirmwareVersionInfoPeim.inf                      |  47 ++
 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf                   |  55 ++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf                                 |  90 +++
 ArmPkg/Include/Chipset/AArch64.h                                                        |   4 +
 ArmPkg/Include/Guid/FirmwareVersionInfoHobGuid.h                                        |  29 +
 ArmPkg/Include/IndustryStandard/ArmStdSmc.h                                             |  13 +
 ArmPkg/Include/Library/ArmLib.h                                                         |  10 +
 ArmPkg/Include/Library/OemMiscLib.h                                                     |  91 +++
 ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h                                              |   6 +
 ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h                                                    |   6 +
 ArmPkg/Library/ArmLib/ArmLibPrivate.h                                                   |  93 ++-
 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.h                        |  34 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h                                      | 217 ++++++
 MdePkg/Include/IndustryStandard/SmBios.h                                                |  13 +
 ArmPkg/Drivers/FirmwareVersionInfoPeim/FirmwareVersionInfoPeim.c                        |  91 +++
 ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c                                              |  12 +
 ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c                                                    |  12 +
 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c                        | 798 ++++++++++++++++++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c                             |  68 ++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c                            | 167 ++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorData.c                       | 100 +++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c                   | 238 ++++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerData.c               |  43 ++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c           | 181 +++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturerData.c            |  51 ++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturerFunction.c        | 194 +++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerData.c              |  58 ++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c          | 192 +++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguagesData.c     |  39 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguagesFunction.c | 155 ++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationData.c                  |  41 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c              |  67 ++
 ArmPkg/Library/ArmLib/AArch64/AArch64Support.S                                          |   3 +
 ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S                                         |   2 +-
 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S                                             |   4 +
 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm                                           |   6 +-
 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassStrings.uni               |  23 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibString.uni                           |  21 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendor.uni                         |  18 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturer.uni                 |  21 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturer.uni              |  21 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturer.uni                |  18 +
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguages.uni       |  43 ++
 44 files changed, 3395 insertions(+), 3 deletions(-)
 create mode 100644 ArmPkg/Drivers/FirmwareVersionInfoPeim/FirmwareVersionInfoPeim.inf
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
 create mode 100644 ArmPkg/Include/Guid/FirmwareVersionInfoHobGuid.h
 create mode 100644 ArmPkg/Include/Library/OemMiscLib.h
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.h
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
 create mode 100644 ArmPkg/Drivers/FirmwareVersionInfoPeim/FirmwareVersionInfoPeim.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/MiscBiosVendorFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturerData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturerFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguagesData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguagesFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassStrings.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibString.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendor.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturer.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturer.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturer.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type13/MiscNumberOfInstallableLanguages.uni

-- 
2.26.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-12-16 11:06 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-01  0:33 [PATCH v4 00/11] ArmPkg,MdePkg: Add Universal/Smbios and Drivers/FirmwareVersionInfoPeim Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 01/11] ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 02/11] MdePkg: Update IndustryStandard/SmBios.h with processor status data Rebecca Cran
2020-12-01  0:39   ` 回复: " gaoliming
2020-12-01  0:33 ` [PATCH v4 03/11] ArmPkg: Add register encoding definition for MMFR2 Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 04/11] ArmPkg: Add helper to read the Memory Model Features Register 2 Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 05/11] ArmPkg: Add helper function to read the Memory Model Feature Register 4 Rebecca Cran
2020-12-16 11:06   ` Sami Mujawar
2020-12-01  0:33 ` [PATCH v4 06/11] ArmPkg: Add helper to read CCIDX status Rebecca Cran
2020-12-16 11:06   ` Sami Mujawar
2020-12-01  0:33 ` [PATCH v4 07/11] ArmPkg: Fix the return type of the ReadCCSIDR function Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 08/11] ArmPkg: Update ArmLibPrivate.h with cache register definitions Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 09/11] ArmPkg: Add FirmwareVersionInfoPeim Rebecca Cran
2020-12-02 15:20   ` Ard Biesheuvel
2020-12-02 15:31     ` Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 10/11] ArmPkg: Add Universal/Smbios, a generic SMBIOS library for ARM Rebecca Cran
2020-12-01  0:33 ` [PATCH v4 11/11] ArmPkg: Add definition of the maximum cache level in ARMv8-A Rebecca Cran
2020-12-01 21:26 ` [PATCH v4 00/11] ArmPkg,MdePkg: Add Universal/Smbios and Drivers/FirmwareVersionInfoPeim Rebecca Cran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox