#include <Library/BaseMemoryLib.h>\r
\r
/**\r
- The constructor function retrieve the PCD_PPI pointer.\r
+ Retrieve the PCD_PPI pointer.\r
\r
+ This function is to locate PCD_PPI PPI via PeiService. \r
+ If fail to locate PCD_PPI, then ASSERT_EFI_ERROR().\r
+ \r
@retval PCD_PPI * The pointer to the PCD_PPI.\r
\r
**/\r
PCD_PPI *\r
-GetPcdPpiPtr (\r
+GetPcdPpiPointer (\r
VOID\r
) \r
{\r
\r
/**\r
Sets the current SKU in the PCD database to the value specified by SkuId. SkuId is returned.\r
-\r
- @param[in] SkuId The SKU value that will be used when the PCD service will retrieve and \r
- set values associated with a PCD token.\r
+ If SkuId not less than PCD_MAX_SKU_ID, then ASSERT().\r
+ \r
+ @param[in] System sku id. The SKU value that will be used when the PCD service will retrieve and \r
+ set values.\r
\r
@retval SKU_ID Return the SKU ID that just be set.\r
\r
)\r
{\r
\r
- ASSERT (SkuId < 0x100);\r
+ ASSERT (SkuId < PCD_MAX_SKU_ID);\r
\r
- GetPcdPpiPtr()->SetSku (SkuId);;\r
+ GetPcdPpiPointer()->SetSku (SkuId);\r
\r
return SkuId;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get8 (TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get8 (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI *PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get16 (TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get16 (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get32 (TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get32 (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get64 (TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get64 (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetPtr (TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetPtr (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetBool (TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetBool (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetSize (TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetSize (TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get8Ex (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get8Ex (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
\r
ASSERT (Guid != NULL);\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get16Ex (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get16Ex (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get32Ex (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get32Ex (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->Get64Ex (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->Get64Ex (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetPtrEx (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetPtrEx (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetBoolEx (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetBoolEx (Guid, TokenNumber);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- PCD_PPI * PcdPpi;\r
-\r
ASSERT (Guid != NULL);\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- return PcdPpi->GetSizeEx (Guid, TokenNumber);\r
+ return (GetPcdPpiPointer ())->GetSizeEx (Guid, TokenNumber);\r
}\r
\r
\r
/**\r
Sets the 8-bit value for the token specified by TokenNumber \r
to the value specified by Value. Value is returned.\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The 8-bit value to set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
- Status = PcdPpi->Set8 (TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set8 (TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
/**\r
Sets the 16-bit value for the token specified by TokenNumber \r
to the value specified by Value. Value is returned.\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The 16-bit value to set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- Status = PcdPpi->Set16 (TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set16 (TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
/**\r
Sets the 32-bit value for the token specified by TokenNumber \r
to the value specified by Value. Value is returned.\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The 32-bit value to set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
- Status = PcdPpi->Set32 (TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set32 (TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
/**\r
Sets the 64-bit value for the token specified by TokenNumber \r
to the value specified by Value. Value is returned.\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The 64-bit value to set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- Status = PcdPpi->Set64 (TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set64 (TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
\r
/**\r
Sets a buffer for the token specified by TokenNumber to \r
- the value specified by Buffer and SizeOfValue. Buffer to\r
+ the value specified by Buffer and SizeOfBuffer. Buffer to\r
be set is returned. The content of the buffer could be \r
overwritten if a Callback on SET is registered with this\r
TokenNumber.\r
\r
- If SizeOfValue is greater than the maximum \r
- size support by TokenNumber, then set SizeOfValue to the \r
+ If SizeOfBuffer is greater than the maximum \r
+ size support by TokenNumber, then set SizeOfBuffer to the \r
maximum size supported by TokenNumber and return NULL to \r
indicate that the set operation was not actually performed. \r
\r
- If SizeOfValue > 0 and Buffer is NULL, then ASSERT().\r
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
+ In out, returns actual size of buffer is set.\r
@param[in] Buffer A pointer to the buffer to set.\r
\r
@retval VOID* Return the pointer for the buffer been set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI *PcdPpi;\r
\r
ASSERT (SizeOfBuffer != NULL);\r
\r
if (*SizeOfBuffer > 0) {\r
ASSERT (Buffer != NULL);\r
}\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
- Status = PcdPpi->SetPtr (TokenNumber, SizeOfBuffer, Buffer);\r
+ Status = (GetPcdPpiPointer ())->SetPtr (TokenNumber, SizeOfBuffer, Buffer);\r
\r
if (EFI_ERROR (Status)) {\r
return NULL;\r
/**\r
Sets the Boolean value for the token specified by TokenNumber \r
to the value specified by Value. Value is returned.\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The boolean value to set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
- Status = PcdPpi->SetBool (TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->SetBool (TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
Sets the 8-bit value for the token specified by TokenNumber and \r
Guid to the value specified by Value. Value is returned.\r
If Guid is NULL, then ASSERT().\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
ASSERT (Guid != NULL);\r
\r
- Status = PcdPpi->Set8Ex (Guid, TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set8Ex (Guid, TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
Sets the 16-bit value for the token specified by TokenNumber and \r
Guid to the value specified by Value. Value is returned.\r
If Guid is NULL, then ASSERT().\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in] Value The 16-bit value to set.\r
\r
- @retval UINT8 Return the value been set.\r
+ @retval UINT16 Return the value been set.\r
\r
**/\r
UINT16\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
ASSERT (Guid != NULL);\r
- Status = PcdPpi->Set16Ex (Guid, TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set16Ex (Guid, TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
Sets the 32-bit value for the token specified by TokenNumber and \r
Guid to the value specified by Value. Value is returned.\r
If Guid is NULL, then ASSERT().\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
- ASSERT (Guid != NULL);\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
+ ASSERT (Guid != NULL);\r
\r
- Status = PcdPpi->Set32Ex (Guid, TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set32Ex (Guid, TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
Sets the 64-bit value for the token specified by TokenNumber and \r
Guid to the value specified by Value. Value is returned.\r
If Guid is NULL, then ASSERT().\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
ASSERT (Guid != NULL);\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
-\r
- Status = PcdPpi->Set64Ex (Guid, TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->Set64Ex (Guid, TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
\r
/**\r
Sets a buffer for the token specified by TokenNumber to the value specified by \r
- Buffer and SizeOfValue. Buffer is returned. If SizeOfValue is greater than \r
- the maximum size support by TokenNumber, then set SizeOfValue to the maximum size \r
+ Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than \r
+ the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size \r
supported by TokenNumber and return NULL to indicate that the set operation \r
was not actually performed. \r
\r
- If SizeOfValue > 0 and Buffer is NULL, then ASSERT().\r
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
@param[in] TokenNumber The PCD token number to set a current value for.\r
@param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
+ In out, returns actual size of buffer is set.\r
@param[in] Buffer A pointer to the buffer to set.\r
\r
@retval VOID * Return the pinter to the buffer been set.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI *PcdPpi;\r
- ASSERT (SizeOfBuffer != NULL);\r
+ ASSERT (SizeOfBuffer != NULL);\r
if (*SizeOfBuffer > 0) {\r
ASSERT (Buffer != NULL);\r
}\r
ASSERT (Guid != NULL);\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
- Status = PcdPpi->SetPtrEx (Guid, TokenNumber, SizeOfBuffer, Buffer);\r
+ Status = (GetPcdPpiPointer ())->SetPtrEx (Guid, TokenNumber, SizeOfBuffer, Buffer);\r
\r
if (EFI_ERROR (Status)) {\r
return NULL;\r
Sets the Boolean value for the token specified by TokenNumber and \r
Guid to the value specified by Value. Value is returned.\r
If Guid is NULL, then ASSERT().\r
+ If fail to set pcd value, then ASSERT_EFI_ERROR().\r
\r
@param[in] Guid Pointer to a 128-bit unique value that \r
designates which namespace to set a value from.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
\r
ASSERT (Guid != NULL);\r
- Status = PcdPpi->SetBoolEx (Guid, TokenNumber, Value);\r
+ Status = (GetPcdPpiPointer ())->SetBoolEx (Guid, TokenNumber, Value);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
then notification function specified by NotificationFunction is called. \r
If Guid is NULL, then the default token space is used. \r
If NotificationFunction is NULL, then ASSERT().\r
-\r
+ If fail to set callback, then ASSERT_EFI_ERROR().\r
@param[in] Guid Pointer to a 128-bit unique value that designates which \r
namespace to set a value from. If NULL, then the default \r
token space is used.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
\r
- Status = PcdPpi->CallbackOnSet (Guid, TokenNumber, NotificationFunction);\r
+ Status = (GetPcdPpiPointer ())->CallbackOnSet (Guid, TokenNumber, NotificationFunction);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
/**\r
Disable a notification function that was established with LibPcdCallbackonSet().\r
If NotificationFunction is NULL, then ASSERT().\r
-\r
+ If fail to cancel callback, then ASSERT_EFI_ERROR().\r
+ \r
@param[in] Guid Specify the GUID token space.\r
@param[in] TokenNumber Specify the token number.\r
@param[in] NotificationFunction The callback function to be unregistered.\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
\r
- Status = PcdPpi->CancelCallback (Guid, TokenNumber, NotificationFunction);\r
+ Status = (GetPcdPpiPointer ())->CancelCallback (Guid, TokenNumber, NotificationFunction);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
follows TokenNumber in the token space is returned. If TokenNumber is the last \r
token number in the token space, then 0 is returned. If TokenNumber is not 0 and \r
is not in the token space specified by Guid, then ASSERT().\r
-\r
+ If fail to get token in given token space, then ASSERT_EFI_ERROR().\r
+ \r
@param[in] Guid Pointer to a 128-bit unique value that designates which namespace \r
to set a value from. If NULL, then the default token space is used.\r
@param[in] TokenNumber The previous PCD token number. If 0, then retrieves the first PCD \r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
\r
- Status = PcdPpi->GetNextToken (Guid, &TokenNumber);\r
+ Status = (GetPcdPpiPointer ())->GetNextToken (Guid, &TokenNumber);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
platform. If Guid is NULL, then the GUID of the first non-local token space of the \r
current platform is returned. If Guid is the last non-local token space, \r
then NULL is returned. \r
-\r
+ If fail to get next token space, then ASSERT_EFI_ERROR().\r
+ \r
If Guid is not NULL and is not a valid token space in the current platform, then ASSERT().\r
\r
\r
)\r
{\r
EFI_STATUS Status;\r
- PCD_PPI * PcdPpi;\r
-\r
- PcdPpi = GetPcdPpiPtr ();\r
-\r
\r
- Status = PcdPpi->GetNextTokenSpace (&Guid);\r
+ Status = (GetPcdPpiPointer ())->GetNextTokenSpace (&Guid);\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
\r
/**\r
Sets the PCD entry specified by PatchVariable to the value specified by Buffer \r
- and SizeOfValue. Buffer is returned. If SizeOfValue is greater than \r
- MaximumDatumSize, then set SizeOfValue to MaximumDatumSize and return \r
+ and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than \r
+ MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return \r
NULL to indicate that the set operation was not actually performed. \r
- If SizeOfValue is set to MAX_ADDRESS, then SizeOfValue must be set to \r
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to \r
MaximumDatumSize and NULL must be returned.\r
\r
If PatchVariable is NULL, then ASSERT().\r
- If SizeOfValue is NULL, then ASSERT().\r
- If SizeOfValue > 0 and Buffer is NULL, then ASSERT().\r
+ If SizeOfBuffer is NULL, then ASSERT().\r
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
\r
@param[in] PatchVariable A pointer to the global variable in a module that is \r
the target of the set operation.\r
@param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.\r
@param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.\r
+ In out, returns actual size of buffer is set.\r
@param[in] Buffer A pointer to the buffer to used to set the target variable.\r
\r
**/\r