MdePkg: Support EFI_PEI_CORE_FV_LOCATION_PPI

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>
This commit is contained in:
Chasel, Chiu 2019-02-12 16:42:26 +08:00
parent 3cbb5bbac3
commit c93c0dc1d5
2 changed files with 57 additions and 2 deletions

View File

@ -0,0 +1,48 @@
/** @file
Header file for Pei Core FV Location PPI.
This PPI contains a pointer to the firmware volume which contains the PEI Foundation.
If the PEI Foundation does not reside in the BFV, then SEC must pass this PPI as a part
of the PPI list provided to the PEI Foundation Entry Point, otherwise the PEI Foundation
shall assume that it resides within the BFV.
Copyright (c) 2019, 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
which 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 defined in UEFI Platform Initialization Specification 1.7 Volume 1:
Standards
**/
#ifndef _EFI_PEI_CORE_FV_LOCATION_H_
#define _EFI_PEI_CORE_FV_LOCATION_H_
///
/// Global ID for EFI_PEI_CORE_FV_LOCATION_PPI
///
#define EFI_PEI_CORE_FV_LOCATION_GUID \
{ \
0x52888eae, 0x5b10, 0x47d0, {0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 } \
}
///
/// This PPI provides location of EFI PeiCoreFv.
///
typedef struct {
///
/// Pointer to the first byte of the firmware volume which contains the PEI Foundation.
///
VOID *PeiCoreFvLocation;
} EFI_PEI_CORE_FV_LOCATION_PPI;
extern EFI_GUID gEfiPeiCoreFvLocationPpiGuid;
#endif // _EFI_PEI_CORE_FV_LOCATION_H_

View File

@ -2,9 +2,9 @@
# This Package provides all definitions, library classes and libraries instances.
#
# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of
# EFI1.10/UEFI2.7/PI1.6 and some Industry Standards.
# EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
#
@ -929,6 +929,13 @@
## Include/Ppi/SecHobData.h
gEfiSecHobDataPpiGuid = { 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } }
#
# PPIs defined in PI 1.7.
#
## Include/Ppi/PeiCoreFvLocation.h
gEfiPeiCoreFvLocationPpiGuid = { 0x52888eae, 0x5b10, 0x47d0, { 0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 }}
[Protocols]
## Include/Protocol/Pcd.h
gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}