public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Rebecca Cran" <rebecca@nuviainc.com>
To: devel@edk2.groups.io
Cc: Rebecca Cran <rebecca@nuviainc.com>,
	Leif Lindholm <leif@nuviainc.com>,
	Ard Biesheuvel <ard.biesheuvel@arm.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Zhiguang Liu <zhiguang.liu@intel.com>
Subject: [PATCH v2 0/3] ArmPkg,MdePkg: Add Universal/Smbios and Drivers/VersionInfoPeim
Date: Wed,  4 Nov 2020 15:50:52 -0700	[thread overview]
Message-ID: <20201104225055.18220-1-rebecca@nuviainc.com> (raw)


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,713,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 v1:

Added a new commit to MdePkg to add the processor status data bitfield
to IndustryStandard/SmBios.h.

Updated OemMiscLib.h to remove structs and enums that are duplicated from
IndustryStandard/SmBios.h.

Fixed a bug in calls to UnicodeStrToAsciiStrS where the wrong length
was passed.

Rebecca Cran (3):
  ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h
  MdePkg: Update IndustryStandard/SmBios.h with processor status data
  ArmPkg: add Universal/Smbios as a generic SMBIOS library

 ArmPkg/ArmPkg.dec                             |  16 +
 .../Drivers/VersionInfoPeim/VersionInfoPeim.c |  90 +++
 .../VersionInfoPeim/VersionInfoPeim.inf       |  46 ++
 ArmPkg/Include/Guid/VersionInfoHobGuid.h      |  29 +
 ArmPkg/Include/IndustryStandard/ArmStdSmc.h   |  26 +-
 ArmPkg/Include/Library/OemMiscLib.h           |  82 +++
 ArmPkg/Library/ArmLib/ArmLibPrivate.h         |  22 +
 .../ProcessorSubClassDxe/ProcessorSubClass.c  | 684 ++++++++++++++++++
 .../ProcessorSubClassDxe/ProcessorSubClass.h  |  34 +
 .../ProcessorSubClassDxe.inf                  |  55 ++
 .../ProcessorSubClassStrings.uni              |  23 +
 .../Smbios/SmbiosMiscDxe/SmbiosMisc.h         | 217 ++++++
 .../SmbiosMiscDxe/SmbiosMiscDataTable.c       |  50 ++
 .../Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf    |  89 +++
 .../SmbiosMiscDxe/SmbiosMiscEntryPoint.c      | 167 +++++
 .../SmbiosMiscDxe/SmbiosMiscLibString.uni     |  21 +
 .../SmbiosMiscDxe/Type00/MiscBiosVendor.uni   |  18 +
 .../SmbiosMiscDxe/Type00/MiscBiosVendorData.c |  99 +++
 .../Type00/MiscBiosVendorFunction.c           | 232 ++++++
 .../Type01/MiscSystemManufacturer.uni         |  21 +
 .../Type01/MiscSystemManufacturerData.c       |  43 ++
 .../Type01/MiscSystemManufacturerFunction.c   | 171 +++++
 .../Type02/MiscBaseBoardManufacturer.uni      |  21 +
 .../Type02/MiscBaseBoardManufacturerData.c    |  51 ++
 .../MiscBaseBoardManufacturerFunction.c       | 184 +++++
 .../Type03/MiscChassisManufacturer.uni        |  18 +
 .../Type03/MiscChassisManufacturerData.c      |  58 ++
 .../Type03/MiscChassisManufacturerFunction.c  | 182 +++++
 .../MiscNumberOfInstallableLanguages.uni      |  43 ++
 .../MiscNumberOfInstallableLanguagesData.c    |  39 +
 ...MiscNumberOfInstallableLanguagesFunction.c | 154 ++++
 .../Type32/MiscBootInformationData.c          |  41 ++
 .../Type32/MiscBootInformationFunction.c      |  66 ++
 MdePkg/Include/IndustryStandard/SmBios.h      |  13 +
 34 files changed, 3092 insertions(+), 13 deletions(-)
 create mode 100644 ArmPkg/Drivers/VersionInfoPeim/VersionInfoPeim.c
 create mode 100644 ArmPkg/Drivers/VersionInfoPeim/VersionInfoPeim.inf
 create mode 100644 ArmPkg/Include/Guid/VersionInfoHobGuid.h
 create mode 100644 ArmPkg/Include/Library/OemMiscLib.h
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.h
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
 create mode 100644 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassStrings.uni
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c
 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/Type00/MiscBiosVendorData.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
 create mode 100644 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturer.uni
 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/MiscBaseBoardManufacturer.uni
 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/MiscChassisManufacturer.uni
 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/MiscNumberOfInstallableLanguages.uni
 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

-- 
2.26.2


             reply	other threads:[~2020-11-04 22:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-04 22:50 Rebecca Cran [this message]
2020-11-04 22:50 ` [PATCH v2 1/3] ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h Rebecca Cran
2020-11-10  9:53   ` Leif Lindholm
2020-11-04 22:50 ` [PATCH v2 2/3] MdePkg: Update IndustryStandard/SmBios.h with processor status data Rebecca Cran
2020-11-04 22:50 ` [PATCH v2 3/3] ArmPkg: add Universal/Smbios as a generic SMBIOS library Rebecca Cran

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=20201104225055.18220-1-rebecca@nuviainc.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