]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Support EFI_PEI_CORE_FV_LOCATION_PPI
authorChasel, Chiu <chasel.chiu@intel.com>
Tue, 12 Feb 2019 08:42:26 +0000 (16:42 +0800)
committerChasel, Chiu <chasel.chiu@intel.com>
Fri, 15 Feb 2019 05:39:38 +0000 (13:39 +0800)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1524

Add EFI_PEI_CORE_FV_LOCATION_PPI definition basing on
PI spec 1.7, Section 6.3.9.
This PPI can support the secnario that PEI Foundation
not in BFV.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
MdePkg/Include/Ppi/PeiCoreFvLocation.h [new file with mode: 0644]
MdePkg/MdePkg.dec

diff --git a/MdePkg/Include/Ppi/PeiCoreFvLocation.h b/MdePkg/Include/Ppi/PeiCoreFvLocation.h
new file mode 100644 (file)
index 0000000..3bea681
--- /dev/null
@@ -0,0 +1,48 @@
+/** @file\r
+  Header file for Pei Core FV Location PPI.\r
+\r
+  This PPI contains a pointer to the firmware volume which contains the PEI Foundation.\r
+  If the PEI Foundation does not reside in the BFV, then SEC must pass this PPI as a part\r
+  of the PPI list provided to the PEI Foundation Entry Point, otherwise the PEI Foundation\r
+  shall assume that it resides within the BFV.\r
+\r
+  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+  @par Revision Reference:\r
+  This PPI is defined in UEFI Platform Initialization Specification 1.7 Volume 1:\r
+  Standards\r
+\r
+**/\r
+\r
+\r
+#ifndef _EFI_PEI_CORE_FV_LOCATION_H_\r
+#define _EFI_PEI_CORE_FV_LOCATION_H_\r
+\r
+///\r
+/// Global ID for EFI_PEI_CORE_FV_LOCATION_PPI\r
+///\r
+#define EFI_PEI_CORE_FV_LOCATION_GUID \\r
+  { \\r
+    0x52888eae, 0x5b10, 0x47d0, {0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 } \\r
+  }\r
+\r
+///\r
+/// This PPI provides location of EFI PeiCoreFv.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// Pointer to the first byte of the firmware volume which contains the PEI Foundation.\r
+  ///\r
+  VOID    *PeiCoreFvLocation;\r
+} EFI_PEI_CORE_FV_LOCATION_PPI;\r
+\r
+extern EFI_GUID gEfiPeiCoreFvLocationPpiGuid;\r
+\r
+#endif // _EFI_PEI_CORE_FV_LOCATION_H_\r
index a4854083105d6797362c97f0ba782fd62528d7eb..c859b4a511695de0df4d87c4c4263e0df1a321e2 100644 (file)
@@ -2,9 +2,9 @@
 # This Package provides all definitions, library classes and libraries instances.\r
 #\r
 # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of\r
-# EFI1.10/UEFI2.7/PI1.6 and some Industry Standards.\r
+# EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.\r
 #\r
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
 # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
 #\r
   ## Include/Ppi/SecHobData.h\r
   gEfiSecHobDataPpiGuid = { 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } }\r
 \r
+  #\r
+  # PPIs defined in PI 1.7.\r
+  #\r
+\r
+  ## Include/Ppi/PeiCoreFvLocation.h\r
+  gEfiPeiCoreFvLocationPpiGuid   = { 0x52888eae, 0x5b10, 0x47d0, { 0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 }}\r
+\r
 [Protocols]\r
   ## Include/Protocol/Pcd.h\r
   gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}\r