]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/PCD/Pei/Service.h
Add in support for MaxSize and CurrentSize for PCD entry.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Service.h
index 5f334e141d0b3da030ac18372b7533fe38b31ff8..4dbf7610ba74404f86ae1a4b49fdae557ad53e00 100644 (file)
@@ -22,7 +22,7 @@ Module Name: Service.h
 // Please make sure the PCD Serivce PEIM Version is consistent with\r
 // the version of PCD Database generation tool\r
 //\r
-#define PCD_PEI_SERVICE_DRIVER_VERSION      1\r
+#define PCD_PEI_SERVICE_DRIVER_VERSION      2\r
 \r
 //\r
 // PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
@@ -40,45 +40,62 @@ GetPcdDatabase (
   )\r
 ;\r
 \r
+\r
+EFI_STATUS\r
+SetValueWorker (\r
+  IN          UINTN              TokenNumber,\r
+  IN          VOID               *Data,\r
+  IN          UINTN              Size\r
+  )\r
+;\r
+\r
+\r
 EFI_STATUS\r
 SetWorker (\r
-  IN UINTN         TokenNumber,\r
-  IN VOID          *Data,\r
-  IN UINTN         Size,\r
-  IN BOOLEAN       PtrType\r
+  IN          UINTN              TokenNumber,\r
+  IN          VOID               *Data,\r
+  IN OUT      UINTN              *Size,\r
+  IN          BOOLEAN            PtrType\r
   )\r
 ;\r
 \r
+\r
 EFI_STATUS\r
-SetWorkerByLocalTokenNumber (\r
-  UINT32        LocalTokenNumber,\r
-  VOID          *Data,\r
-  UINTN         Size,\r
-  BOOLEAN       PtrType\r
+ExSetValueWorker (\r
+  IN          UINTN                ExTokenNumber,\r
+  IN          CONST EFI_GUID       *Guid,\r
+  IN          VOID                 *Data,\r
+  IN          UINTN                Size\r
   )\r
 ;\r
 \r
+\r
+\r
 EFI_STATUS\r
 ExSetWorker (\r
-  IN UINT32               ExTokenNumber,\r
-  IN CONST EFI_GUID       *Guid,\r
-  VOID                    *Data,\r
-  UINTN                   Size,\r
-  BOOLEAN                 PtrType\r
+  IN      UINTN                ExTokenNumber,\r
+  IN      CONST EFI_GUID       *Guid,\r
+  IN      VOID                 *Data,\r
+  IN OUT  UINTN                *Size,\r
+  IN      BOOLEAN              PtrType\r
   )\r
 ;\r
 \r
+\r
+\r
 VOID *\r
 GetWorker (\r
-  UINTN     TokenNumber,\r
-  UINTN     GetSize\r
+  IN UINTN                TokenNumber,\r
+  IN UINTN                GetSize\r
   )\r
 ;\r
 \r
+\r
+\r
 VOID *\r
 ExGetWorker (\r
   IN CONST EFI_GUID   *Guid,\r
-  IN UINT32           ExTokenNumber,\r
+  IN UINT           ExTokenNumber,\r
   IN UINTN            GetSize\r
   )\r
 ;\r
@@ -89,14 +106,17 @@ typedef struct {
   UINT32  LocalTokenNumberAlias;\r
 } EX_PCD_ENTRY_ATTRIBUTE;\r
 \r
-VOID\r
-GetExPcdTokenAttributes (\r
+\r
+UINTN           \r
+GetExPcdTokenNumber (\r
   IN CONST EFI_GUID             *Guid,\r
-  IN UINT32                     ExTokenNumber,\r
-  OUT EX_PCD_ENTRY_ATTRIBUTE    *ExAttr\r
+  IN UINTN                      ExTokenNumber\r
   )\r
 ;\r
 \r
+\r
+\r
+\r
 EFI_STATUS\r
 PeiRegisterCallBackWorker (\r
   IN  UINTN              TokenNumber,\r
@@ -105,6 +125,9 @@ PeiRegisterCallBackWorker (
   IN  BOOLEAN            Register\r
 );\r
 \r
+\r
+\r
+\r
 VOID\r
 BuildPcdDatabase (\r
   VOID\r
@@ -112,13 +135,34 @@ BuildPcdDatabase (
 ;\r
 \r
 \r
+\r
+\r
+UINTN\r
+GetPtrTypeSize (\r
+  IN    UINTN             LocalTokenNumberTableIdx,\r
+  OUT   UINTN             *MaxSize,\r
+  IN    PEI_PCD_DATABASE  *Database\r
+  )\r
+;\r
+\r
+\r
+\r
+BOOLEAN\r
+SetPtrTypeSize (\r
+  IN          UINTN             LocalTokenNumberTableIdx,\r
+  IN    OUT   UINTN             *CurrentSize,\r
+  IN          PEI_PCD_DATABASE  *Database\r
+  )\r
+;\r
+\r
+\r
 //\r
 // PPI Interface Implementation Declaration.\r
 //\r
 VOID\r
 EFIAPI\r
 PeiPcdSetSku (\r
-  IN  SKU_ID                  SkuId\r
+  IN  UINTN                  SkuId\r
   )\r
 ;\r
 \r
@@ -126,7 +170,7 @@ PeiPcdSetSku (
 UINT8\r
 EFIAPI\r
 PeiPcdGet8 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -134,7 +178,7 @@ PeiPcdGet8 (
 UINT16\r
 EFIAPI\r
 PeiPcdGet16 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -142,7 +186,7 @@ PeiPcdGet16 (
 UINT32\r
 EFIAPI\r
 PeiPcdGet32 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -150,7 +194,7 @@ PeiPcdGet32 (
 UINT64\r
 EFIAPI\r
 PeiPcdGet64 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -158,7 +202,7 @@ PeiPcdGet64 (
 VOID *\r
 EFIAPI\r
 PeiPcdGetPtr (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -166,7 +210,7 @@ PeiPcdGetPtr (
 BOOLEAN\r
 EFIAPI\r
 PeiPcdGetBool (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -174,7 +218,7 @@ PeiPcdGetBool (
 UINTN\r
 EFIAPI\r
 PeiPcdGetSize (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -183,7 +227,7 @@ UINT8
 EFIAPI\r
 PeiPcdGet8Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -192,7 +236,7 @@ UINT16
 EFIAPI\r
 PeiPcdGet16Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -200,7 +244,7 @@ UINT32
 EFIAPI\r
 PeiPcdGet32Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -209,7 +253,7 @@ UINT64
 EFIAPI\r
 PeiPcdGet64Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -218,7 +262,7 @@ VOID *
 EFIAPI\r
 PeiPcdGetPtrEx (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -227,7 +271,7 @@ BOOLEAN
 EFIAPI\r
 PeiPcdGetBoolEx (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -236,7 +280,7 @@ UINTN
 EFIAPI\r
 PeiPcdGetSizeEx (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 ;\r
 \r
@@ -244,7 +288,7 @@ PeiPcdGetSizeEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet8 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -253,7 +297,7 @@ PeiPcdSet8 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet16 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT16            Value\r
   )\r
 ;\r
@@ -262,7 +306,7 @@ PeiPcdSet16 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet32 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT32            Value\r
   )\r
 ;\r
@@ -271,7 +315,7 @@ PeiPcdSet32 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet64 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -279,9 +323,9 @@ PeiPcdSet64 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtr (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
-  IN UINTN             SizeOfBuffer,\r
-  IN VOID              *Buffer\r
+  IN        UINTN             TokenNumber,\r
+  IN OUT    UINTN             *SizeOfBuffer,\r
+  IN        VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -289,7 +333,7 @@ PeiPcdSetPtr (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetBool (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -299,7 +343,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet8Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -308,7 +352,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet16Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT16            Value\r
   )\r
 ;\r
@@ -318,7 +362,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet32Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT32            Value\r
   )\r
 ;\r
@@ -328,7 +372,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet64Ex (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -337,10 +381,10 @@ PeiPcdSet64Ex (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtrEx (\r
-  IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
-  IN UINTN             SizeOfBuffer,\r
-  IN VOID              *Buffer\r
+  IN        CONST EFI_GUID    *Guid,\r
+  IN        UINTN             TokenNumber,\r
+  IN OUT    UINTN             *SizeOfBuffer,\r
+  IN        VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -349,7 +393,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSetBoolEx (\r
   IN CONST EFI_GUID    *Guid,\r
-  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -358,8 +402,8 @@ PeiPcdSetBoolEx (
 \r
 EFI_STATUS\r
 EFIAPI\r
-PcdRegisterCallBackOnSet (\r
-  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+PeiRegisterCallBackOnSet (\r
+  IN  UINTN                   TokenNumber,\r
   IN  CONST EFI_GUID          *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK        CallBackFunction\r
   )\r
@@ -369,7 +413,7 @@ PcdRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PcdUnRegisterCallBackOnSet (\r
-  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  UINTN                   TokenNumber,\r
   IN  CONST EFI_GUID          *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK        CallBackFunction\r
   )\r
@@ -380,7 +424,15 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdGetNextToken (\r
   IN CONST EFI_GUID           *Guid, OPTIONAL\r
-  IN OUT  PCD_TOKEN_NUMBER    *TokenNumber\r
+  IN OUT  UINTN               *TokenNumber\r
+  )\r
+;\r
+\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PeiPcdGetNextTokenSpace (\r
+  IN CONST EFI_GUID           **Guid\r
   )\r
 ;\r
 \r