diff options
author | gikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-12-11 06:29:24 +0000 |
---|---|---|
committer | gikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-12-11 06:29:24 +0000 |
commit | 4b8157f93c8e42c857462096a0861ecf73f8bd6d (patch) | |
tree | 33f25105af4ccf1bec915b8cbd9025e42eff81ef | |
parent | 64d2df940cc2b67f0a17f3eac7e98a43c13621de (diff) | |
download | edk2-platforms-4b8157f93c8e42c857462096a0861ecf73f8bd6d.tar.xz |
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
4 files changed, 58 insertions, 18 deletions
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 <Library/DebugLib.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().
- @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 <Library/DebugLib.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.
@@ -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);
}
|