This PPI is introduced in PI Version 1.5.

Cc: Liming Gao <liming....@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.z...@intel.com>
---
 MdePkg/Include/Ppi/SecHobData.h | 65 +++++++++++++++++++++++++++++++++++++++++
 MdePkg/MdePkg.dec               |  7 +++++
 2 files changed, 72 insertions(+)
 create mode 100644 MdePkg/Include/Ppi/SecHobData.h

diff --git a/MdePkg/Include/Ppi/SecHobData.h b/MdePkg/Include/Ppi/SecHobData.h
new file mode 100644
index 000000000000..0efe1a2d0b77
--- /dev/null
+++ b/MdePkg/Include/Ppi/SecHobData.h
@@ -0,0 +1,65 @@
+/** @file
+  This file declares Sec Hob Data PPI.
+
+  This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB 
list. 
+
+Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available 
under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+  @par Revision Reference:
+  This PPI is introduced in PI Version 1.5.
+
+**/
+
+#ifndef __SEC_HOB_DATA_PPI_H__
+#define __SEC_HOB_DATA_PPI_H__
+
+#include <Pi/PiHob.h>
+
+#define EFI_SEC_HOB_DATA_PPI_GUID \
+  { \
+    0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 
0x1f } \
+  }
+
+typedef struct _EFI_SEC_HOB_DATA_PPI EFI_SEC_HOB_DATA_PPI;
+
+/**
+  Return a pointer to a buffer containing zero or more HOBs that
+  will be installed into the PEI HOB List.
+
+  This function returns a pointer to a pointer to zero or more HOBs,
+  terminated with a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
+  Note: The HobList must not contain a EFI_HOB_HANDOFF_INFO_TABLE HOB (PHIT) 
HOB.
+
+  @param[in]  This          Pointer to this PPI structure.
+  @param[out] HobList       A pointer to a returned pointer to zero or more 
HOBs.
+                            If no HOBs are to be returned, then the returned 
pointer
+                            is a pointer to a HOB of type 
EFI_HOB_TYPE_END_OF_HOB_LIST.
+
+  @retval EFI_SUCCESS       This function completed successfully.
+  @retval EFI_NOT_FOUND     No HOBS are available.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SEC_HOB_DATA_GET) (
+  IN CONST EFI_SEC_HOB_DATA_PPI *This,
+  OUT EFI_HOB_GENERIC_HEADER    **HobList
+);
+
+///
+/// This PPI provides a way for the SEC code to pass zero or more HOBs in a 
HOB list.
+///
+struct _EFI_SEC_HOB_DATA_PPI {
+  EFI_SEC_HOB_DATA_GET          GetHobs;
+};
+
+extern EFI_GUID gEfiSecHobDataPpiGuid;
+
+#endif
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index d6928b3f97bf..f54b056563b4 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -909,6 +909,13 @@ [Ppis]
   ## Include/Ppi/SecPlatformInformation.h
   gEfiSecPlatformInformation2PpiGuid = { 0x9e9f374b, 0x8f16, 0x4230, {0x98, 
0x24, 0x58, 0x46, 0xee, 0x76, 0x6a, 0x97 } }
 
+  #
+  # PPIs defined in PI 1.5.
+  #
+
+  ## Include/Ppi/SecHobData.h
+  gEfiSecHobDataPpiGuid = { 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 
0x99, 0x9a, 0xc1, 0xb7, 0x1f } }
+
 [Protocols]
   ## Include/Protocol/Pcd.h
   gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 
0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to