summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAgyeman, Prince </o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=a1415217dc1f4aa29e237dc1665061bd-Agyeman, Pr>2019-10-17 17:01:42 -0700
committerMichael Kubacki <michael.a.kubacki@intel.com>2019-10-18 10:18:01 -0700
commit2d996ab7eee53e7f899050ed691868bf1fc1de98 (patch)
tree9e694c59037a1883fce1524b7a12ab9e08185414
parentf8c5d83e0042e5f4c42d5e9fdd88a92e449b156c (diff)
BoardModulePkg: Add BIOS Info HOB
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2210 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2211 Added gBiosInfoGuid to be used in publishing the BIOS information HOB which is needed in FIT generation. Also added the BIOS Info header file BiosInfo.h that defines the BIOS info struct and GUID. Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Kubacki Michael A <michael.a.kubacki@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
-rw-r--r--Platform/Intel/BoardModulePkg/BoardModulePkg.dec3
-rw-r--r--Platform/Intel/BoardModulePkg/Include/Guid/BiosInfo.h61
2 files changed, 64 insertions, 0 deletions
diff --git a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
index f96fb09a..f461cc7c 100644
--- a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
+++ b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
@@ -39,3 +39,6 @@
[Guids]
## Include Include/Guid/BiosId.h
gBiosIdGuid = { 0xC3E36D09, 0x8294, 0x4b97, { 0xA8, 0x57, 0xD5, 0x28, 0x8F, 0xE3, 0x3E, 0x28 } }
+
+ ## GUID to publish BIOS information HOB
+ gBiosInfoGuid = { 0x09d0d15c, 0xe9f0, 0x4dfc, {0x9e, 0x0b, 0x39, 0x33, 0x1f, 0xca, 0x66, 0x85} }
diff --git a/Platform/Intel/BoardModulePkg/Include/Guid/BiosInfo.h b/Platform/Intel/BoardModulePkg/Include/Guid/BiosInfo.h
new file mode 100644
index 00000000..d73409ea
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/Include/Guid/BiosInfo.h
@@ -0,0 +1,61 @@
+/** @file
+ Definitions and GUID for BIOS INFO.
+
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef _BIOS_INFO_H_
+#define _BIOS_INFO_H_
+
+//
+// BIOS INFO data structure
+// This is self contained data structure for BIOS info for TXT
+//
+#pragma pack (1)
+#define BIOS_INFO_SIGNATURE SIGNATURE_64 ('$', 'B', 'I', 'O', 'S', 'I', 'F', '$')
+typedef struct {
+ UINT64 Signature;
+ UINT32 EntryCount;
+ UINT32 Reserved;
+//BIOS_INFO_STRUCT Struct[EntryCount];
+} BIOS_INFO_HEADER;
+
+//
+// BIOS_INFO_STRUCT attributes
+// bits[0:3] means general attributes
+// bits[4:7] means type specific attributes
+//
+#define BIOS_INFO_STRUCT_ATTRIBUTE_GENERAL_EXCLUDE_FROM_FIT 0x01
+#define BIOS_INFO_STRUCT_ATTRIBUTE_MICROCODE_WHOLE_REGION 0x10
+#define BIOS_INFO_STRUCT_ATTRIBUTE_BIOS_POST_IBB 0x10
+#define BIOS_INFO_STRUCT_ATTRIBUTE_BIOS_NON_IBB 0x20
+
+typedef struct {
+ //
+ // FitTable entry type
+ //
+ UINT8 Type;
+ //
+ // BIOS_INFO_STRUCT attributes
+ //
+ UINT8 Attributes;
+ //
+ // FitTable entry version
+ //
+ UINT16 Version;
+ //
+ // FitTable entry real size
+ //
+ UINT32 Size;
+ //
+ // FitTable entry address
+ //
+ UINT64 Address;
+} BIOS_INFO_STRUCT;
+
+extern EFI_GUID gBiosInfoGuid;
+
+#pragma pack ()
+
+#endif