From 4b8157f93c8e42c857462096a0861ecf73f8bd6d Mon Sep 17 00:00:00 2001 From: gikidy Date: Thu, 11 Dec 2008 06:29:24 +0000 Subject: Modified PeiServicesTablePointerLib.h to match the Spec, and sync the c files with it. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6991 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/PeiServicesTablePointerLib.h | 18 +++++++++++++----- .../PeiServicesTablePointer.c | 21 +++++++++++++++------ .../PeiServicesTablePointer.c | 19 +++++++++++++++---- .../PeiServicesTablePointer.c | 18 +++++++++++++++--- 4 files changed, 58 insertions(+), 18 deletions(-) (limited to 'MdePkg') diff --git a/MdePkg/Include/Library/PeiServicesTablePointerLib.h b/MdePkg/Include/Library/PeiServicesTablePointerLib.h index a366c98f1b..2906d86c48 100644 --- a/MdePkg/Include/Library/PeiServicesTablePointerLib.h +++ b/MdePkg/Include/Library/PeiServicesTablePointerLib.h @@ -16,10 +16,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define __PEI_SERVICES_TABLE_POINTER_LIB_H__ /** - The function returns the pointer to PEI services. + Retrieves the cached value of the PEI Services Table pointer. - The function returns the pointer to PEI services. - It will ASSERT() if the pointer to PEI services is NULL. + Returns the cached value of the PEI Services Table pointer in a CPU specific manner + as specified in the CPU binding section of the Platform Initialization Pre-EFI + Initialization Core Interface Specification. + + If the cached PEI Services Table pointer is NULL, then ASSERT(). @return The pointer to PeiServices. @@ -31,8 +34,13 @@ GetPeiServicesTablePointer ( ); /** - The function set the pointer of PEI services immediately preceding the IDT table - according to PI specification. + Caches a pointer PEI Services Table. + + Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer + in a CPU specific manner as specified in the CPU binding section of the Platform Initialization + Pre-EFI Initialization Core Interface Specification. + + If PeiServicesTablePointer is NULL, then ASSERT(). @param PeiServicesTablePointer The address of PeiServices pointer. **/ diff --git a/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c b/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c index c45a55829d..2198fd0d14 100644 --- a/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c +++ b/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c @@ -22,8 +22,13 @@ CONST EFI_PEI_SERVICES **gPeiServices; /** - The function set the pointer of PEI services immediately preceding the IDT table - according to PI specification. + Caches a pointer PEI Services Table. + + Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer + in a CPU specific manner as specified in the CPU binding section of the Platform Initialization + Pre-EFI Initialization Core Interface Specification. + + If PeiServicesTablePointer is NULL, then ASSERT(). @param PeiServicesTablePointer The address of PeiServices pointer. **/ @@ -33,16 +38,20 @@ SetPeiServicesTablePointer ( IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer ) { + ASSERT (PeiServicesTablePointer != NULL); gPeiServices = PeiServicesTablePointer; } /** - The function returns the pointer to PEI services. + Retrieves the cached value of the PEI Services Table pointer. - The function returns the pointer to PEI services. - It will ASSERT() if the pointer to PEI services is NULL. + Returns the cached value of the PEI Services Table pointer in a CPU specific manner + as specified in the CPU binding section of the Platform Initialization Pre-EFI + Initialization Core Interface Specification. + + If the cached PEI Services Table pointer is NULL, then ASSERT(). - @retval The pointer to PeiServices. + @return The pointer to PeiServices. **/ CONST EFI_PEI_SERVICES ** diff --git a/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c b/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c index f2c29bdaa4..6bacb323c0 100644 --- a/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c +++ b/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c @@ -22,12 +22,15 @@ #include /** - The function returns the pointer to PEI services. + Retrieves the cached value of the PEI Services Table pointer. - The function returns the pointer to PEI services. - It will ASSERT() if the pointer to PEI services is NULL. + Returns the cached value of the PEI Services Table pointer in a CPU specific manner + as specified in the CPU binding section of the Platform Initialization Pre-EFI + Initialization Core Interface Specification. + + If the cached PEI Services Table pointer is NULL, then ASSERT(). - @retval The pointer to PeiServices. + @return The pointer to PeiServices. **/ CONST EFI_PEI_SERVICES ** @@ -46,9 +49,16 @@ GetPeiServicesTablePointer ( } /** + Caches a pointer PEI Services Table. + + Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer + in a CPU specific manner as specified in the CPU binding section of the Platform Initialization + Pre-EFI Initialization Core Interface Specification. The function set the pointer of PEI services immediately preceding the IDT table according to PI specification. + If PeiServicesTablePointer is NULL, then ASSERT(). + @param PeiServicesTablePointer The address of PeiServices pointer. **/ VOID @@ -59,6 +69,7 @@ SetPeiServicesTablePointer ( { IA32_DESCRIPTOR Idtr; + ASSERT (PeiServicesTablePointer != NULL); AsmReadIdtr (&Idtr); (*(UINTN*)(Idtr.Base - sizeof (UINTN))) = (UINTN)PeiServicesTablePointer; } diff --git a/MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c b/MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c index d6927999cc..671268fa53 100644 --- a/MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c +++ b/MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c @@ -18,10 +18,13 @@ #include /** - The function returns the pointer to PEI services. + Retrieves the cached value of the PEI Services Table pointer. - The function returns the pointer to PEI services. - It will ASSERT() if the pointer to PEI services is NULL. + Returns the cached value of the PEI Services Table pointer in a CPU specific manner + as specified in the CPU binding section of the Platform Initialization Pre-EFI + Initialization Core Interface Specification. + + If the cached PEI Services Table pointer is NULL, then ASSERT(). @return The pointer to PeiServices. @@ -39,10 +42,18 @@ GetPeiServicesTablePointer ( return PeiServices; } + /** + Caches a pointer PEI Services Table. + + Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer + in a CPU specific manner as specified in the CPU binding section of the Platform Initialization + Pre-EFI Initialization Core Interface Specification. The function set the pointer of PEI services in KR7 register according to PI specification. + If PeiServicesTablePointer is NULL, then ASSERT(). + @param PeiServicesTablePointer The address of PeiServices pointer. **/ VOID @@ -51,6 +62,7 @@ SetPeiServicesTablePointer ( IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer ) { + ASSERT (PeiServicesTablePointer != NULL); AsmWriteKr7 ((UINT64)(UINTN)PeiServicesTablePointer); } -- cgit v1.2.3