[edk2-devel] [PATCH v4 3/6] ArmPkg/SmbiosMiscDxe: Support fetching System UUID

Nhi Pham via groups.io posted 6 patches 2 years, 2 months ago
[edk2-devel] [PATCH v4 3/6] ArmPkg/SmbiosMiscDxe: Support fetching System UUID
Posted by Nhi Pham via groups.io 2 years, 2 months ago
This adds an API to OemMiscLib for fetching the system UUID according to
the platform.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
Reviewed-by: Rebecca Cran <rebecca@quicinc.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
---
 ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf                     |  4 ++++
 ArmPkg/Include/Library/OemMiscLib.h                                           | 12 ++++++++++++
 ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c                           | 18 ++++++++++++++++++
 ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c |  3 ++-
 4 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
index 5c4268f68b4a..8653f57720d1 100644
--- a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
+++ b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
@@ -1,6 +1,7 @@
 #/** @file

 #    OemMiscLib.inf

 #

+#    Copyright (c) 2022, Ampere Computing LLC. All rights reserved.

 #    Copyright (c) 2021, NUVIA Inc. All rights reserved.

 #    Copyright (c) 2018, Hisilicon Limited. All rights reserved.

 #    Copyright (c) 2018, Linaro Limited. All rights reserved.

@@ -29,3 +30,6 @@ [Packages]
 [LibraryClasses]

   BaseMemoryLib

   DebugLib

+

+[Guids]

+  gZeroGuid

diff --git a/ArmPkg/Include/Library/OemMiscLib.h b/ArmPkg/Include/Library/OemMiscLib.h
index 330bb4b014de..d87737db9c2b 100644
--- a/ArmPkg/Include/Library/OemMiscLib.h
+++ b/ArmPkg/Include/Library/OemMiscLib.h
@@ -235,4 +235,16 @@ OemGetChassisNumPowerCords (
   VOID

   );

 

+/**

+  Fetches the system UUID.

+

+  @param[out] SystemUuid     The pointer to the buffer to store the System UUID.

+

+**/

+VOID

+EFIAPI

+OemGetSystemUuid (

+  OUT GUID  *SystemUuid

+  );

+

 #endif // OEM_MISC_LIB_H_

diff --git a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
index 98970407a65e..32f6d55c1a9a 100644
--- a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
+++ b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c
@@ -1,6 +1,7 @@
 /** @file

 *  OemMiscLib.c

 *

+*  Copyright (c) 2022, Ampere Computing LLC. All rights reserved.

 *  Copyright (c) 2021, NUVIA Inc. All rights reserved.

 *  Copyright (c) 2018, Hisilicon Limited. All rights reserved.

 *  Copyright (c) 2018, Linaro Limited. All rights reserved.

@@ -10,6 +11,7 @@
 **/

 

 #include <Uefi.h>

+#include <Guid/ZeroGuid.h>

 #include <Library/BaseMemoryLib.h>

 #include <Library/DebugLib.h>

 #include <Library/HiiLib.h>

@@ -236,3 +238,19 @@ OemGetChassisNumPowerCords (
   ASSERT (FALSE);

   return 1;

 }

+

+/**

+  Fetches the system UUID.

+

+  @param[out] SystemUuid     The pointer to the buffer to store the System UUID.

+

+**/

+VOID

+EFIAPI

+OemGetSystemUuid (

+  OUT GUID  *SystemUuid

+  )

+{

+  ASSERT (FALSE);

+  CopyGuid (SystemUuid, &gZeroGuid);

+}

diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c
index 5cf72644d0b2..22fb5eccaa63 100644
--- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c
+++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c
@@ -4,6 +4,7 @@
 

   Based on files under Nt32Pkg/MiscSubClassPlatformDxe/

 

+  Copyright (c) 2022, Ampere Computing LLC. All rights reserved.<BR>

   Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>

   Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>

   Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>

@@ -160,7 +161,7 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscSystemManufacturer) {
 

   SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE1);

 

-  CopyGuid (&SmbiosRecord->Uuid, &InputData->Uuid);

+  OemGetSystemUuid (&SmbiosRecord->Uuid);

 

   OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);

   UnicodeStrToAsciiStrS (Manufacturer, OptionalStrStart, ManuStrLen + 1);

-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93929): https://edk2.groups.io/g/devel/message/93929
Mute This Topic: https://groups.io/mt/93773961/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-