diff options
author | Rebecca Cran <rebecca@nuviainc.com> | 2021-03-30 20:16:17 -0600 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-04-27 12:46:26 +0000 |
commit | bbeb1bea4166c577499a26b5097bab4d69829d94 (patch) | |
tree | 95b937482944e1d3267ce7fb361f7d73c8f78259 /ArmPkg | |
parent | bf2b99990e1b0a0eed09d6e5b22b293b9dfa978f (diff) | |
download | edk2-bbeb1bea4166c577499a26b5097bab4d69829d94.tar.gz edk2-bbeb1bea4166c577499a26b5097bab4d69829d94.tar.bz2 edk2-bbeb1bea4166c577499a26b5097bab4d69829d94.zip |
ArmPkg: Allow platforms to report their boot status via OemMiscLib call
Add a new function to OemMiscLib to allow platforms to report their boot
status into the Type32 SMBIOS table.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
Diffstat (limited to 'ArmPkg')
-rw-r--r-- | ArmPkg/Include/Library/OemMiscLib.h | 10 | ||||
-rw-r--r-- | ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c | 14 | ||||
-rw-r--r-- | ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c | 3 |
3 files changed, 27 insertions, 0 deletions
diff --git a/ArmPkg/Include/Library/OemMiscLib.h b/ArmPkg/Include/Library/OemMiscLib.h index 25ae508ddb..0b03fe8d4d 100644 --- a/ArmPkg/Include/Library/OemMiscLib.h +++ b/ArmPkg/Include/Library/OemMiscLib.h @@ -162,6 +162,16 @@ OemUpdateSmbiosInfo ( IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field
);
+/** Fetches the Type 32 boot information status.
+
+ @return Boot status.
+**/
+MISC_BOOT_INFORMATION_STATUS_DATA_TYPE
+EFIAPI
+OemGetBootStatus (
+ VOID
+ );
+
/** Fetches the chassis status when it was last booted.
@return Chassis status.
diff --git a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c index 33b0081d65..3125269735 100644 --- a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c +++ b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c @@ -140,6 +140,20 @@ OemUpdateSmbiosInfo ( ASSERT (FALSE);
}
+/** Fetches the Type 32 boot information status.
+
+ @return Boot status.
+**/
+MISC_BOOT_INFORMATION_STATUS_DATA_TYPE
+EFIAPI
+OemGetBootStatus (
+ VOID
+ )
+{
+ ASSERT (FALSE);
+ return BootInformationStatusNoError;
+}
+
/** Fetches the chassis status when it was last booted.
@return Chassis status.
diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c index 733615bbcf..4be1e1cd29 100644 --- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type32/MiscBootInformationFunction.c @@ -16,6 +16,7 @@ #include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
+#include <Library/OemMiscLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include "SmbiosMisc.h"
@@ -59,6 +60,8 @@ SMBIOS_MISC_TABLE_FUNCTION(MiscBootInformation) SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE32);
+ SmbiosRecord->BootStatus = OemGetBootStatus ();
+
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
|