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 <ardb+tianocore@kernel.org>
Subject: [PATCH 1/1] ArmPkg: Fix several issues in OemMiscLib
Date: Thu, 18 Feb 2021 22:08:00 -0700	[thread overview]
Message-ID: <20210219050800.5238-1-rebecca@nuviainc.com> (raw)

Update OemMiscLib with the following changes:

o Fixed ordering of return type and EFIAPI specifier.
o Renamed 'Offset' parameter in OemUpdateSmbiosInfo to 'Field'.
o Renamed OemGetProcessorMaxSockets to OemGetMaxProcessors.
o Renamed OemIsSocketPresent to OemIsProcessorPresent.
o Updated OemGetChassisType to return MISC_CHASSIS_TYPE instead of
  EFI_STATUS, which matches other OemMiscLib functions.

Update Universal/Smbios to follow the changes to OemMiscLib.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 ArmPkg/Include/Library/OemMiscLib.h                                            | 32 ++++++++--------
 ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c                            | 36 ++++++++----------
 ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c               | 40 ++++++++++----------
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c | 28 +-------------
 4 files changed, 52 insertions(+), 84 deletions(-)

diff --git a/ArmPkg/Include/Library/OemMiscLib.h b/ArmPkg/Include/Library/OemMiscLib.h
index e70019d05f15..5f71b2ad48c7 100644
--- a/ArmPkg/Include/Library/OemMiscLib.h
+++ b/ArmPkg/Include/Library/OemMiscLib.h
@@ -71,8 +71,8 @@ typedef enum
 
   @return               CPU frequency in Hz
 **/
-EFIAPI
 UINTN
+EFIAPI
 OemGetCpuFreq (
   IN UINT8 ProcessorIndex
   );
@@ -87,8 +87,8 @@ OemGetCpuFreq (
 
   @return  TRUE on success, FALSE on failure.
 **/
-EFIAPI
 BOOLEAN
+EFIAPI
 OemGetProcessorInformation (
   IN UINTN ProcessorIndex,
   IN OUT PROCESSOR_STATUS_DATA *ProcessorStatus,
@@ -106,8 +106,8 @@ OemGetProcessorInformation (
 
   @return TRUE on success, FALSE on failure.
 **/
-EFIAPI
 BOOLEAN
+EFIAPI
 OemGetCacheInformation (
   IN UINT8   ProcessorIndex,
   IN UINT8   CacheLevel,
@@ -116,26 +116,24 @@ OemGetCacheInformation (
   IN OUT SMBIOS_TABLE_TYPE7 *SmbiosCacheTable
   );
 
-/** Gets the maximum number of sockets supported by the platform.
+/** Gets the maximum number of processors supported by the platform.
 
-  @return The maximum number of sockets.
+  @return The maximum number of processors.
 **/
-EFIAPI
 UINT8
-OemGetProcessorMaxSockets (
+EFIAPI
+OemGetMaxProcessors (
   VOID
   );
 
 /** Gets the type of chassis for the system.
 
-  @param ChassisType The type of the chassis.
-
-  @retval EFI_SUCCESS The chassis type was fetched successfully.
+  @retval The type of the chassis.
 **/
+MISC_CHASSIS_TYPE
 EFIAPI
-EFI_STATUS
 OemGetChassisType (
-  OUT UINT8 *ChassisType
+  VOID
   );
 
 /** Returns whether the specified processor is present or not.
@@ -144,9 +142,9 @@ OemGetChassisType (
 
   @return TRUE is the processor is present, FALSE otherwise.
 **/
-EFIAPI
 BOOLEAN
-OemIsSocketPresent (
+EFIAPI
+OemIsProcessorPresent (
   IN UINTN ProcessorIndex
   );
 
@@ -154,14 +152,14 @@ OemIsSocketPresent (
 
   @param mHiiHandle    The HII handle.
   @param TokenToUpdate The string to update.
-  @param Offset        The field to get information about.
+  @param Field         The field to get information about.
 **/
-EFIAPI
 VOID
+EFIAPI
 OemUpdateSmbiosInfo (
   IN EFI_HII_HANDLE    HiiHandle,
   IN EFI_STRING_ID     TokenToUpdate,
-  IN OEM_MISC_SMBIOS_HII_STRING_FIELD Offset
+  IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field
   );
 
 #endif // OEM_MISC_LIB_H_
diff --git a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
index 73cebef2d1b9..6b233742feb0 100644
--- a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
+++ b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
@@ -13,7 +13,6 @@
 #include <Library/BaseMemoryLib.h>
 #include <Library/DebugLib.h>
 #include <Library/HiiLib.h>
-
 #include <Library/OemMiscLib.h>
 
 
@@ -23,8 +22,8 @@
 
   @return               CPU frequency in Hz
 **/
-EFIAPI
 UINTN
+EFIAPI
 OemGetCpuFreq (
   IN UINT8 ProcessorIndex
   )
@@ -43,8 +42,8 @@ OemGetCpuFreq (
 
   @return  TRUE on success, FALSE on failure.
 **/
-EFIAPI
 BOOLEAN
+EFIAPI
 OemGetProcessorInformation (
   IN UINTN ProcessorIndex,
   IN OUT PROCESSOR_STATUS_DATA *ProcessorStatus,
@@ -66,8 +65,8 @@ OemGetProcessorInformation (
 
   @return TRUE on success, FALSE on failure.
 **/
-EFIAPI
 BOOLEAN
+EFIAPI
 OemGetCacheInformation (
   IN UINT8   ProcessorIndex,
   IN UINT8   CacheLevel,
@@ -80,13 +79,13 @@ OemGetCacheInformation (
   return TRUE;
 }
 
-/** Gets the maximum number of sockets supported by the platform.
+/** Gets the maximum number of processors supported by the platform.
 
-  @return The maximum number of sockets.
+  @return The maximum number of processors.
 **/
-EFIAPI
 UINT8
-OemGetProcessorMaxSockets (
+EFIAPI
+OemGetMaxProcessors (
   VOID
   )
 {
@@ -96,19 +95,16 @@ OemGetProcessorMaxSockets (
 
 /** Gets the type of chassis for the system.
 
-  @param ChassisType The type of the chassis.
-
-  @retval EFI_SUCCESS The chassis type was fetched successfully.
+  @retval The type of the chassis.
 **/
-EFI_STATUS
+MISC_CHASSIS_TYPE
 EFIAPI
 OemGetChassisType (
-  UINT8 *ChassisType
+  VOID
   )
 {
   ASSERT (FALSE);
-  *ChassisType = MiscChassisTypeUnknown;
-  return EFI_SUCCESS;
+  return MiscChassisTypeUnknown;
 }
 
 /** Returns whether the specified processor is present or not.
@@ -117,9 +113,9 @@ OemGetChassisType (
 
   @return TRUE is the processor is present, FALSE otherwise.
 **/
-EFIAPI
 BOOLEAN
-OemIsSocketPresent (
+EFIAPI
+OemIsProcessorPresent (
   IN UINTN ProcessorIndex
   )
 {
@@ -131,14 +127,14 @@ OemIsSocketPresent (
 
   @param mHiiHandle    The HII handle.
   @param TokenToUpdate The string to update.
-  @param Offset        The field to get information about.
+  @param Field         The field to get information about.
 **/
-EFIAPI
 VOID
+EFIAPI
 OemUpdateSmbiosInfo (
   IN EFI_HII_HANDLE mHiiHandle,
   IN EFI_STRING_ID TokenToUpdate,
-  IN OEM_MISC_SMBIOS_HII_STRING_FIELD Offset
+  IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field
   )
 {
   ASSERT (FALSE);
diff --git a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
index d03de12a820e..7296d786616c 100644
--- a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
+++ b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
@@ -439,8 +439,8 @@ AddSmbiosCacheTypeTable (
     strings following the data fields.
 
   @param[out] Type4Record    The Type 4 structure to allocate and initialize
-  @param[in]  ProcessorIndex The index of the processor socket
-  @param[in]  Populated      Whether the specified processor socket is
+  @param[in]  ProcessorIndex The index of the processor
+  @param[in]  Populated      Whether the specified processor is
                              populated.
 
   @retval EFI_SUCCESS          The Type 4 structure was successfully
@@ -460,7 +460,7 @@ AllocateType4AndSetProcessorInformationStrings (
   EFI_STRING_ID   SerialNumber;
   EFI_STRING_ID   AssetTag;
   EFI_STRING_ID   PartNumber;
-  EFI_STRING      ProcessorSocketStr;
+  EFI_STRING      ProcessorStr;
   EFI_STRING      ProcessorManuStr;
   EFI_STRING      ProcessorVersionStr;
   EFI_STRING      SerialNumberStr;
@@ -468,7 +468,7 @@ AllocateType4AndSetProcessorInformationStrings (
   EFI_STRING      PartNumberStr;
   CHAR8           *OptionalStrStart;
   CHAR8           *StrStart;
-  UINTN           ProcessorSocketStrLen;
+  UINTN           ProcessorStrLen;
   UINTN           ProcessorManuStrLen;
   UINTN           ProcessorVersionStrLen;
   UINTN           SerialNumberStrLen;
@@ -497,14 +497,14 @@ AllocateType4AndSetProcessorInformationStrings (
   SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorAssetTag, AssetTag);
   SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorPartNumber, PartNumber);
 
-  // Processor Socket Designation
+  // Processor Designation
   StringBufferSize = sizeof (CHAR16) * SMBIOS_STRING_MAX_LENGTH;
-  ProcessorSocketStr = AllocateZeroPool (StringBufferSize);
-  if (ProcessorSocketStr == NULL) {
+  ProcessorStr = AllocateZeroPool (StringBufferSize);
+  if (ProcessorStr == NULL) {
     return EFI_OUT_OF_RESOURCES;
   }
 
-  ProcessorSocketStrLen = UnicodeSPrint (ProcessorSocketStr, StringBufferSize,
+  ProcessorStrLen = UnicodeSPrint (ProcessorStr, StringBufferSize,
                                          L"CPU%02d", ProcessorIndex + 1);
 
   // Processor Manufacture
@@ -528,7 +528,7 @@ AllocateType4AndSetProcessorInformationStrings (
   PartNumberStrLen = StrLen (PartNumberStr);
 
   TotalSize = sizeof (SMBIOS_TABLE_TYPE4) +
-              ProcessorSocketStrLen  + 1 +
+              ProcessorStrLen  + 1 +
               ProcessorManuStrLen    + 1 +
               ProcessorVersionStrLen + 1 +
               SerialNumberStrLen     + 1 +
@@ -545,12 +545,12 @@ AllocateType4AndSetProcessorInformationStrings (
 
   OptionalStrStart = (CHAR8 *)(*Type4Record + 1);
   UnicodeStrToAsciiStrS (
-    ProcessorSocketStr,
+    ProcessorStr,
     OptionalStrStart,
-    ProcessorSocketStrLen + 1
+    ProcessorStrLen + 1
     );
 
-  StrStart = OptionalStrStart + ProcessorSocketStrLen + 1;
+  StrStart = OptionalStrStart + ProcessorStrLen + 1;
   UnicodeStrToAsciiStrS (
     ProcessorManuStr,
     StrStart,
@@ -586,7 +586,7 @@ AllocateType4AndSetProcessorInformationStrings (
     );
 
 Exit:
-  FreePool (ProcessorSocketStr);
+  FreePool (ProcessorStr);
   FreePool (ProcessorManuStr);
   FreePool (ProcessorVersionStr);
   FreePool (SerialNumberStr);
@@ -618,7 +618,7 @@ AddSmbiosProcessorTypeTable (
   UINT64                      *ProcessorId;
   PROCESSOR_CHARACTERISTIC_FLAGS ProcessorCharacteristics;
   OEM_MISC_PROCESSOR_DATA     MiscProcessorData;
-  BOOLEAN                     SocketPopulated;
+  BOOLEAN                     ProcessorPopulated;
 
   Type4Record         = NULL;
 
@@ -632,12 +632,12 @@ AddSmbiosProcessorTypeTable (
   L2CacheHandle       = 0xFFFF;
   L3CacheHandle       = 0xFFFF;
 
-  SocketPopulated = OemIsSocketPresent(ProcessorIndex);
+  ProcessorPopulated = OemIsProcessorPresent (ProcessorIndex);
 
   Status = AllocateType4AndSetProcessorInformationStrings (
              &Type4Record,
              ProcessorIndex,
-             SocketPopulated
+             ProcessorPopulated
              );
   if (EFI_ERROR (Status)) {
     return Status;
@@ -649,7 +649,7 @@ AddSmbiosProcessorTypeTable (
                                 &Type4Record->ProcessorCharacteristics,
                               &MiscProcessorData);
 
-  if (SocketPopulated) {
+  if (ProcessorPopulated) {
     AddSmbiosCacheTypeTable (ProcessorIndex, &L1CacheHandle,
                              &L2CacheHandle, &L3CacheHandle);
   }
@@ -713,7 +713,7 @@ ProcessorSubClassEntryPoint(
   )
 {
   EFI_STATUS    Status;
-  UINT32        SocketIndex;
+  UINT32        ProcessorIndex;
 
   //
   // Locate dependent protocols
@@ -740,8 +740,8 @@ ProcessorSubClassEntryPoint(
   //
   // Add SMBIOS tables for populated sockets.
   //
-  for (SocketIndex = 0; SocketIndex < OemGetProcessorMaxSockets(); SocketIndex++) {
-    Status = AddSmbiosProcessorTypeTable (SocketIndex);
+  for (ProcessorIndex = 0; ProcessorIndex < OemGetMaxProcessors (); ProcessorIndex++) {
+    Status = AddSmbiosProcessorTypeTable (ProcessorIndex);
     if (EFI_ERROR (Status)) {
       DEBUG ((DEBUG_ERROR, "Add Processor Type Table Failed!  %r.\n", Status));
       return Status;
diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c
index e6adbceba2d5..fc4dba319aad 100644
--- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c
+++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c
@@ -23,27 +23,6 @@
 
 #include "SmbiosMisc.h"
 
-/**
- * Returns the chassis type in SMBIOS format.
- *
- * @return Chassis type
-**/
-UINT8
-GetChassisType (
-  VOID
-  )
-{
-  EFI_STATUS                      Status;
-  UINT8                           ChassisType;
-
-  Status = OemGetChassisType (&ChassisType);
-  if (EFI_ERROR (Status)) {
-    return 0;
-  }
-
-  return ChassisType;
-}
-
 /**
   This function makes boot time changes to the contents of the
   MiscChassisManufacturer (Type 3) record.
@@ -80,8 +59,6 @@ SMBIOS_MISC_TABLE_FUNCTION(MiscChassisManufacturer)
   CONTAINED_ELEMENT               ContainedElements;
   UINT8                           ExtendLength;
 
-  UINT8                           ChassisType;
-
   ExtendLength = 0;
 
   //
@@ -165,10 +142,7 @@ SMBIOS_MISC_TABLE_FUNCTION(MiscChassisManufacturer)
 
   SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE3) + ExtendLength + 1;
 
-  ChassisType = GetChassisType ();
-  if (ChassisType != 0) {
-    SmbiosRecord->Type  = ChassisType;
-  }
+  SmbiosRecord->Type = OemGetChassisType ();
 
   //ContainedElements
   ASSERT (ContainedElementCount < 2);
-- 
2.26.2


             reply	other threads:[~2021-02-19  5:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19  5:08 Rebecca Cran [this message]
2021-02-20 20:45 ` [PATCH 1/1] ArmPkg: Fix several issues in OemMiscLib Leif Lindholm
2021-02-21  3:30   ` 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=20210219050800.5238-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