THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- Module Name: PcdLib.c\r
-\r
**/\r
\r
+#include <PiPei.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/PcdLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
\r
\r
/**\r
IN UINTN SkuId\r
)\r
{\r
- ASSERT (SkuId < 0x100);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return SkuId;\r
+ return 0;\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINTN TokenNumber\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
return 0;\r
}\r
IN UINT8 Value\r
)\r
{\r
- return Value;\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
+ return 0;\r
}\r
\r
\r
IN UINT16 Value\r
)\r
{\r
- return Value;\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
+ return 0;\r
}\r
\r
\r
IN UINT32 Value\r
)\r
{\r
- return Value;\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
+ return 0;\r
}\r
\r
\r
IN UINT64 Value\r
)\r
{\r
- return Value;\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
+ return 0;\r
}\r
\r
\r
IN VOID *Buffer\r
)\r
{\r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Buffer;\r
+ return NULL;\r
}\r
\r
\r
IN BOOLEAN Value\r
)\r
{\r
- return Value;\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
+ return FALSE;\r
}\r
\r
\r
IN UINT8 Value\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Value;\r
+ return 0;\r
}\r
\r
\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Value;\r
+ return 0;\r
}\r
\r
\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Value;\r
+ return 0;\r
}\r
\r
\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Value;\r
+ return 0;\r
}\r
\r
\r
IN VOID *Buffer\r
)\r
{\r
- ASSERT (Guid != NULL);\r
-\r
- ASSERT (SizeOfBuffer != NULL);\r
- \r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Buffer;\r
+ return NULL;\r
}\r
\r
\r
IN BOOLEAN Value\r
)\r
{\r
- ASSERT (Guid != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
\r
- return Value;\r
+ return FALSE;\r
}\r
\r
\r
IN PCD_CALLBACK NotificationFunction\r
)\r
{\r
- ASSERT (NotificationFunction != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
}\r
\r
\r
IN PCD_CALLBACK NotificationFunction\r
)\r
{\r
- ASSERT (NotificationFunction != NULL);\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
}\r
\r
\r
IN UINTN TokenNumber\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return 0;\r
}\r
\r
IN CONST GUID *Guid\r
)\r
{\r
+ ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
+\r
return NULL;\r
}\r
+\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
+ 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
+ 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
+\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
+ @param[in] Buffer A pointer to the buffer to used to set the target variable.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+LibPatchPcdSetPtr (\r
+ IN VOID *PatchVariable,\r
+ IN UINTN MaximumDatumSize,\r
+ IN OUT UINTN *SizeOfBuffer,\r
+ IN CONST VOID *Buffer\r
+ )\r
+{\r
+ ASSERT (PatchVariable != NULL);\r
+ ASSERT (SizeOfBuffer != NULL);\r
+ \r
+ if (*SizeOfBuffer > 0) {\r
+ ASSERT (Buffer != NULL);\r
+ }\r
+\r
+ if ((*SizeOfBuffer > MaximumDatumSize) ||\r
+ (*SizeOfBuffer == MAX_ADDRESS)) {\r
+ *SizeOfBuffer = MaximumDatumSize;\r
+ return NULL;\r
+ }\r
+ \r
+ CopyMem (PatchVariable, Buffer, *SizeOfBuffer);\r
+ \r
+ return (VOID *) Buffer;\r
+}\r
+\r