From 4cb0344efeb4441034274b90aa90f424a2dd3216 Mon Sep 17 00:00:00 2001 From: xli24 Date: Wed, 16 Jul 2008 14:36:38 +0000 Subject: Refine code for BasePalCallLibNull & PeiPalCallLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5506 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/PeiPalCallLib/PalCallLib.c | 40 ++++++++++++++++--------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'MdePkg/Library/PeiPalCallLib') diff --git a/MdePkg/Library/PeiPalCallLib/PalCallLib.c b/MdePkg/Library/PeiPalCallLib/PalCallLib.c index b1a9b10cb7..aa423c94bd 100644 --- a/MdePkg/Library/PeiPalCallLib/PalCallLib.c +++ b/MdePkg/Library/PeiPalCallLib/PalCallLib.c @@ -1,7 +1,7 @@ /** @file PAL Call Services Function. - Copyright (c) 2006 - 2007 Intel Corporation. All rights reserved + Copyright (c) 2006 - 2008 Intel Corporation. All rights reserved This software and associated documentation (if any) is furnished under a license and may only be used or copied in accordance with the terms of the license. Except as permitted by such @@ -26,8 +26,8 @@ #include /** - Makes a PAL procedure call. + This is a wrapper function to make a PAL procedure call. Based on the Index value, this API will make static or stacked PAL call. Architected procedures may be designated as required or optional. If a PAL procedure is specified as optional, a unique return @@ -42,12 +42,12 @@ returned or undefined result may occur during the execution of the procedure. This function is only available on IPF. - @param Index - The PAL procedure Index number. - @param Arg2 - The 2nd parameter for PAL procedure calls. - @param Arg3 - The 3rd parameter for PAL procedure calls. - @param Arg4 - The 4th parameter for PAL procedure calls. + @param Index The PAL procedure Index number. + @param Arg2 The 2nd parameter for PAL procedure calls. + @param Arg3 The 3rd parameter for PAL procedure calls. + @param Arg4 The 4th parameter for PAL procedure calls. - @return structure returned from the PAL Call procedure, including the status and return value. + @return Structure returned from the PAL Call procedure, including the status and return value. **/ PAL_CALL_RETURN @@ -68,28 +68,30 @@ PalCall ( UINT64 RecordSize; // - // Get Pei Service Table Pointer + // Get PEI Service Table Pointer // PeiServices = (CONST EFI_PEI_SERVICES **) GetPeiServicesTablePointer (); // - // Locate SEC Ppi + // Locate SEC Platform Information PPI // - Status = PeiServicesLocatePpi ( - &gEfiSecPlatformInformationPpiGuid, - 0, - NULL, - (VOID **)&SecPlatformPpi - ); + &gEfiSecPlatformInformationPpiGuid, + 0, + NULL, + (VOID **)&SecPlatformPpi + ); ASSERT_EFI_ERROR (Status); + // + // Retrieve PAL call address from platform information reported by the PPI + // RecordSize = sizeof (IpfStatus); SecPlatformPpi->PlatformInformation ( - PeiServices, - &RecordSize, - (EFI_SEC_PLATFORM_INFORMATION_RECORD *) &IpfStatus - ); + PeiServices, + &RecordSize, + (EFI_SEC_PLATFORM_INFORMATION_RECORD *) &IpfStatus + ); PalCallAddress = IpfStatus.PalCallAddress; ReturnVal = AsmPalCall (PalCallAddress, Index, Arg2, Arg3, Arg4); -- cgit v1.2.3