Update the file header comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5220 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2008-05-19 02:42:39 +00:00
parent c8eb679ca9
commit 6c45955b04
2 changed files with 46 additions and 9 deletions

View File

@ -1,4 +1,15 @@
/*++ /** @file
Module produce EFI_PEI_READ_ONLY_VARIABLE2_PPI on top of EFI_PEI_READ_ONLY_VARIABLE_PPI.
UEFI PI Spec supersedes Intel's Framework Specs.
EFI_PEI_READ_ONLY_VARIABLE_PPI defined in Intel Framework Pkg is replaced by EFI_PEI_READ_ONLY_VARIABLE2_PPI
in MdePkg.
This module produces EFI_PEI_READ_ONLY_VARIABLE2_PPI on top of EFI_PEI_READ_ONLY_VARIABLE_PPI.
This module is used on platform when both of these two conditions are true:
1) Framework module produces EFI_PEI_READ_ONLY_VARIABLE_PPI is present.
2) The platform has PI modules that only consumes EFI_PEI_READ_ONLY_VARIABLE2_PPI.
This module can't be used together with ReadOnlyVariableToReadOnlyVariable2Thunk module.
Copyright (c) 2006 - 2008 Intel Corporation. <BR> Copyright (c) 2006 - 2008 Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
@ -10,17 +21,12 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name: Module Name:
Variable.c **/
Abstract:
PEIM to provide the Variable functionality
--*/
#include <PiPei.h> #include <PiPei.h>
#include <Ppi/ReadOnlyVariable2.h> #include <Ppi/ReadOnlyVariable2.h>
#include <Ppi/ReadOnlyVariable.h> #include <Ppi/ReadOnlyVariable.h>
#include <Ppi/ReadOnlyVariableThunkPresent.h>
#include <Library/DebugLib.h> #include <Library/DebugLib.h>
#include <Library/PeiServicesTablePointerLib.h> #include <Library/PeiServicesTablePointerLib.h>
#include <Library/PeiServicesLib.h> #include <Library/PeiServicesLib.h>
@ -62,6 +68,13 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = {
&mVariablePpi &mVariablePpi
}; };
EFI_PEI_PPI_DESCRIPTOR mReadOnlyVariableThunkPresent = {
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
&gPeiReadonlyVariableThunkPresentPpiGuid,
NULL
};
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeimInitializeReadOnlyVariable2 ( PeimInitializeReadOnlyVariable2 (
@ -86,6 +99,17 @@ Returns:
--*/ --*/
{ {
VOID *Interface;
EFI_STATUS Status;
//
// Make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. If so, the call chain will form a
// infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> ....
//
Status = PeiServicesLocatePpi (&gPeiReadonlyVariableThunkPresentPpiGuid, 0, NULL, &Interface);
ASSERT (Status == EFI_NOT_FOUND);
PeiServicesInstallPpi (&mReadOnlyVariableThunkPresent);
// //
// Publish the variable capability to other modules // Publish the variable capability to other modules
// //

View File

@ -1,5 +1,16 @@
#/** @file #/** @file
# Component description file for PeiVariable module. # Module produce EFI_PEI_READ_ONLY_VARIABLE_PPI top of EFI_PEI_READ_ONLY_VARIABLE2_PPI .
#
# UEFI PI Spec supersedes Intel's Framework Specs.
# EFI_PEI_READ_ONLY_VARIABLE_PPI defined in Intel Framework Pkg is replaced by EFI_PEI_READ_ONLY_VARIABLE2_PPI
# in MdePkg.
# This module produces EFI_PEI_READ_ONLY_VARIABLE2_PPI on top of EFI_PEI_READ_ONLY_VARIABLE_PPI .
# This module is used on platform when both of these two conditions are true:
# 1) Framework module produces EFI_PEI_READ_ONLY_VARIABLE_PPI is present.
# 2) The platform has PI modules that consumes EFI_PEI_READ_ONLY_VARIABLE2_PPI.
#
# This module can't be used together with ReadOnlyVariableToReadOnlyVariable2Thunk module.
#
# #
# PEIM to provide the Variable functionality. # PEIM to provide the Variable functionality.
# Copyright (c) 2006 - 2007, Intel Corporation # Copyright (c) 2006 - 2007, Intel Corporation
@ -36,6 +47,7 @@
[Packages] [Packages]
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec
[LibraryClasses] [LibraryClasses]
@ -47,6 +59,7 @@
[Ppis] [Ppis]
gEfiPeiReadOnlyVariablePpiGuid # PPI ALWAYS_CONSUMED gEfiPeiReadOnlyVariablePpiGuid # PPI ALWAYS_CONSUMED
gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_PRODUCED gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_PRODUCED
gPeiReadonlyVariableThunkPresentPpiGuid
[Depex] [Depex]
gEfiPeiReadOnlyVariablePpiGuid gEfiPeiReadOnlyVariablePpiGuid