summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Library
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Library')
-rw-r--r--MdePkg/Include/Library/MemoryAllocationLib.h5
-rw-r--r--MdePkg/Include/Library/PcdLib.h68
-rw-r--r--MdePkg/Include/Library/PeiServicesTablePointerLib.h21
-rw-r--r--MdePkg/Include/Library/S3BootScriptLib.h6
4 files changed, 76 insertions, 24 deletions
diff --git a/MdePkg/Include/Library/MemoryAllocationLib.h b/MdePkg/Include/Library/MemoryAllocationLib.h
index b5384498e..0df59e60a 100644
--- a/MdePkg/Include/Library/MemoryAllocationLib.h
+++ b/MdePkg/Include/Library/MemoryAllocationLib.h
@@ -6,7 +6,7 @@
and SMM (for example) is done via a different mechanism. Using a common library interface makes it
much easier to port algorithms from phase to phase.
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -110,6 +110,7 @@ FreePages (
request, then NULL is returned.
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
@param Pages The number of 4 KB pages to allocate.
@param Alignment The requested alignment of the allocation. Must be a power of two.
@@ -134,6 +135,7 @@ AllocateAlignedPages (
request, then NULL is returned.
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
@param Pages The number of 4 KB pages to allocate.
@param Alignment The requested alignment of the allocation. Must be a power of two.
@@ -158,6 +160,7 @@ AllocateAlignedRuntimePages (
request, then NULL is returned.
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
@param Pages The number of 4 KB pages to allocate.
@param Alignment The requested alignment of the allocation. Must be a power of two.
diff --git a/MdePkg/Include/Library/PcdLib.h b/MdePkg/Include/Library/PcdLib.h
index 1ea4ac7ce..ea39bb53b 100644
--- a/MdePkg/Include/Library/PcdLib.h
+++ b/MdePkg/Include/Library/PcdLib.h
@@ -14,7 +14,7 @@
There are no restrictions on the use of FeaturePcd(), FixedPcdGetXX(),
PatchPcdGetXX(), and PatchPcdSetXX().
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -439,6 +439,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Sets the 8-bit value for the token specified by TokenName. Value is returned.
If TokenName is not a valid token in the token space, then the module will not build.
+ If the set operation was not correctly performed, then ASSERT().
+
@param TokenName The name of the PCD token to retrieve a current value for.
@param Value The 8-bit value to set.
@@ -454,6 +456,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Sets the 16-bit value for the token specified by TokenName. Value is returned.
If TokenName is not a valid token in the token space, then the module will not build.
+ If the set operation was not correctly performed, then ASSERT().
+
@param TokenName The name of the PCD token to retrieve a current value for.
@param Value The 16-bit value to set.
@@ -469,6 +473,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Sets the 32-bit value for the token specified by TokenName. Value is returned.
If TokenName is not a valid token in the token space, then the module will not build.
+ If the set operation was not correctly performed, then ASSERT().
+
@param TokenName The name of the PCD token to retrieve a current value for.
@param Value The 32-bit value to set.
@@ -501,7 +507,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then set SizeOfBuffer to the maximum size supported by TokenName and return NULL
to indicate that the set operation was not actually performed. If SizeOfBuffer
is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported
- by TokenName and NULL must be returned.
+ by TokenName and NULL must be returned, or ASSERT() if the set operation was not corretly performed.
If TokenName is not a valid token in the token space, then the module will not build.
If SizeOfBuffer is NULL, then ASSERT().
@@ -523,6 +529,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Sets the Boolean value for the token specified by TokenName. Value is returned.
If TokenName is not a valid token in the token space, then the module will not build.
+ If the set operation was not correctly performed, then ASSERT().
+
@param TokenName The name of the PCD token to set the current value for.
@param Buffer The Boolean value to set.
@@ -667,6 +675,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then the module will not build.
If Guid is NULL, then ASSERT().
+ If the set operation was not correctly performed, then ASSERT().
@param Guid Pointer to a 128-bit unique value that designates
which namespace to retrieve a value from.
@@ -687,6 +696,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then the module will not build.
If Guid is NULL, then ASSERT().
+ If the set operation was not correctly performed, then ASSERT().
@param Guid Pointer to a 128-bit unique value that designates
which namespace to retrieve a value from.
@@ -707,6 +717,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then the module will not build.
If Guid is NULL, then ASSERT().
+ If the set operation was not correctly performed, then ASSERT().
@param Guid Pointer to a 128-bit unique value that designates
which namespace to retrieve a value from.
@@ -727,6 +738,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then the module will not build.
If Guid is NULL, then ASSERT().
+ If the set operation was not correctly performed, then ASSERT().
@param Guid Pointer to a 128-bit unique value that designates
which namespace to retrieve a value from.
@@ -747,7 +759,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return
NULL to indicate that the set operation was not actually performed. If SizeOfBuffer
is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by
- Guid and TokenName and NULL must be returned.
+ Guid and TokenName and NULL must be returned, or ASSERT() if the set operation was not corretly performed.
If TokenName is not a valid token in the token space specified by Guid,
then the module will not build.
@@ -776,6 +788,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
then the module will not build.
If Guid is NULL, then ASSERT().
+ If the set operation was not correctly performed, then ASSERT().
@param Guid Pointer to a 128-bit unique value that designates
which namespace to retrieve a value from.
@@ -1081,7 +1094,9 @@ LibPcdGetExSize (
Sets the 8-bit value for the token specified by TokenNumber
to the value specified by Value. Value is returned.
-
+
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] TokenNumber The PCD token number to set a current value for.
@param[in] Value The 8-bit value to set.
@@ -1101,7 +1116,9 @@ LibPcdSet8 (
Sets the 16-bit value for the token specified by TokenNumber
to the value specified by Value. Value is returned.
-
+
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] TokenNumber The PCD token number to set a current value for.
@param[in] Value The 16-bit value to set.
@@ -1121,7 +1138,9 @@ LibPcdSet16 (
Sets the 32-bit value for the token specified by TokenNumber
to the value specified by Value. Value is returned.
-
+
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] TokenNumber The PCD token number to set a current value for.
@param[in] Value The 32-bit value to set.
@@ -1141,7 +1160,9 @@ LibPcdSet32 (
Sets the 64-bit value for the token specified by TokenNumber
to the value specified by Value. Value is returned.
-
+
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] TokenNumber The PCD token number to set a current value for.
@param[in] Value The 64-bit value to set.
@@ -1163,7 +1184,8 @@ LibPcdSet64 (
specified by Buffer and SizeOfBuffer. Buffer is returned.
If SizeOfBuffer is greater than the maximum size support by TokenNumber,
then set SizeOfBuffer to the maximum size supported by TokenNumber and
- return NULL to indicate that the set operation was not actually performed.
+ return NULL to indicate that the set operation was not actually performed,
+ or ASSERT() if the set operation was not corretly performed.
If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
maximum size supported by TokenName and NULL must be returned.
@@ -1192,7 +1214,9 @@ LibPcdSetPtr (
Sets the Boolean value for the token specified by TokenNumber
to the value specified by Value. Value is returned.
-
+
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] TokenNumber The PCD token number to set a current value for.
@param[in] Value The boolean value to set.
@@ -1212,9 +1236,10 @@ LibPcdSetBool (
Sets the 8-bit value for the token specified by TokenNumber and
Guid to the value specified by Value. Value is returned.
-
+
If Guid is NULL, then ASSERT().
-
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
@@ -1237,9 +1262,10 @@ LibPcdSetEx8 (
Sets the 16-bit value for the token specified by TokenNumber and
Guid to the value specified by Value. Value is returned.
-
+
If Guid is NULL, then ASSERT().
-
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
@@ -1262,9 +1288,10 @@ LibPcdSetEx16 (
Sets the 32-bit value for the token specified by TokenNumber and
Guid to the value specified by Value. Value is returned.
-
+
If Guid is NULL, then ASSERT().
-
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
@@ -1287,8 +1314,10 @@ LibPcdSetEx32 (
Sets the 64-bit value for the token specified by TokenNumber and
Guid to the value specified by Value. Value is returned.
+
If Guid is NULL, then ASSERT().
-
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
@@ -1313,7 +1342,7 @@ LibPcdSetEx64 (
Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
supported by TokenNumber and return NULL to indicate that the set operation
- was not actually performed.
+ was not actually performed, or ASSERT() if the set operation was not corretly performed.
If Guid is NULL, then ASSERT().
If SizeOfBuffer is NULL, then ASSERT().
@@ -1343,9 +1372,10 @@ LibPcdSetExPtr (
Sets the Boolean value for the token specified by TokenNumber and
Guid to the value specified by Value. Value is returned.
-
+
If Guid is NULL, then ASSERT().
-
+ If the set operation was not correctly performed, then ASSERT().
+
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
diff --git a/MdePkg/Include/Library/PeiServicesTablePointerLib.h b/MdePkg/Include/Library/PeiServicesTablePointerLib.h
index 601e1d57f..b1bed2579 100644
--- a/MdePkg/Include/Library/PeiServicesTablePointerLib.h
+++ b/MdePkg/Include/Library/PeiServicesTablePointerLib.h
@@ -1,7 +1,7 @@
/** @file
Provides a service to retrieve a pointer to the PEI Services Table.
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -50,5 +50,24 @@ SetPeiServicesTablePointer (
IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer
);
+/**
+ Perform CPU specific actions required to migrate the PEI Services Table
+ pointer from temporary RAM to permanent RAM.
+
+ For IA32 CPUs, the PEI Services Table pointer is stored in the 4 bytes
+ immediately preceding the Interrupt Descriptor Table (IDT) in memory.
+ For X64 CPUs, the PEI Services Table pointer is stored in the 8 bytes
+ immediately preceding the Interrupt Descriptor Table (IDT) in memory.
+ For Itanium and ARM CPUs, a the PEI Services Table Pointer is stored in
+ a dedicated CPU register. This means that there is no memory storage
+ associated with storing the PEI Services Table pointer, so no additional
+ migration actions are required for Itanium or ARM CPUs.
+
+**/
+VOID
+EFIAPI
+MigratePeiServicesTablePointer (
+ );
+
#endif
diff --git a/MdePkg/Include/Library/S3BootScriptLib.h b/MdePkg/Include/Library/S3BootScriptLib.h
index 0776812e6..1afb07c24 100644
--- a/MdePkg/Include/Library/S3BootScriptLib.h
+++ b/MdePkg/Include/Library/S3BootScriptLib.h
@@ -5,7 +5,7 @@
be provided in the Framework version library instance, which means some of these
APIs cannot be used if the underlying firmware is Framework and not PI.
- Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -281,7 +281,7 @@ S3BootScriptSaveStall (
);
/**
- Adds a record for an execution stall on the processor into a specified boot script table.
+ Adds a record for dispatching specified arbitrary code into a specified boot script table.
@param[in] EntryPoint The entry point of the code to be dispatched.
@param[in] Context The argument to be passed into the EntryPoint of the code
@@ -492,7 +492,7 @@ S3BootScriptSaveInformationAsciiString (
for figuring out how to get the script to run on an S3 resume because the boot script
maintained by the lib will be destroyed.
- @return the base address of the new copy of the boot script tble.
+ @return the base address of the new copy of the boot script table.
**/
UINT8*