#include <PiPei.h>\r
#include <Ppi/ReadOnlyVariable2.h>\r
#include <Ppi/ReadOnlyVariable.h>\r
-#include <Ppi/ReadOnlyVariableThunkPresent.h>\r
#include <Library/DebugLib.h>\r
#include <Library/PeiServicesTablePointerLib.h>\r
#include <Library/PeiServicesLib.h>\r
};\r
\r
\r
-EFI_PEI_PPI_DESCRIPTOR mReadOnlyVariableThunkPresent = {\r
- (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
- &gPeiReadonlyVariableThunkPresentPpiGuid,\r
- NULL\r
-};\r
-\r
/**\r
User entry for this PEIM driver.\r
\r
IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
- VOID *Interface;\r
- EFI_STATUS Status;\r
//\r
// This thunk module can only be used together with a PI PEI core, as we \r
// assume PeiServices Pointer Table can be located in a standard way defined\r
ASSERT ((*PeiServices)->Hdr.Revision >= 0x00010000);\r
\r
//\r
- // Make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. If so, the call chain will form a\r
- // infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> ....\r
+ // Developer should make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. or else, the call chain will form a\r
+ // infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> .....\r
//\r
- Status = PeiServicesLocatePpi (&gPeiReadonlyVariableThunkPresentPpiGuid, 0, NULL, &Interface);\r
- ASSERT (Status == EFI_NOT_FOUND);\r
- \r
- Status = PeiServicesInstallPpi (&mReadOnlyVariableThunkPresent);\r
- ASSERT_EFI_ERROR (Status);\r
- \r
//\r
// Publish the variable capability to other modules\r
//\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- return ReadOnlyVariable->PeiGetVariable (\r
+ return ReadOnlyVariable->GetVariable (\r
(EFI_PEI_SERVICES **) GetPeiServicesTablePointer (),\r
(CHAR16 *)VariableName,\r
(EFI_GUID *)VariableGuid,\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- return ReadOnlyVariable->PeiGetNextVariableName (\r
+ return ReadOnlyVariable->GetNextVariableName (\r
(EFI_PEI_SERVICES **) GetPeiServicesTablePointer (),\r
VariableNameSize,\r
VariableName,\r