diff options
author | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-16 14:36:38 +0000 |
---|---|---|
committer | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-16 14:36:38 +0000 |
commit | 4cb0344efeb4441034274b90aa90f424a2dd3216 (patch) | |
tree | b0ea1361e5bd7786221421a7810620982f70619d /MdePkg/Library/PeiPalCallLib | |
parent | 9c8eefab050f79eb8a0af62a2f6cf2aa3122cf65 (diff) | |
download | edk2-platforms-4cb0344efeb4441034274b90aa90f424a2dd3216.tar.xz |
Refine code for BasePalCallLibNull & PeiPalCallLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5506 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/PeiPalCallLib')
-rw-r--r-- | MdePkg/Library/PeiPalCallLib/PalCallLib.c | 40 |
1 files changed, 21 insertions, 19 deletions
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 <Library/DebugLib.h>
/**
-
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);
|