// Please make sure the PCD Serivce PEIM Version is consistent with\r
// the version of PCD Database generation tool\r
//\r
-#define PCD_DXE_SERVICE_DRIVER_VERSION 1\r
+#define PCD_DXE_SERVICE_DRIVER_VERSION 2\r
\r
//\r
// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
#error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"\r
#endif\r
\r
-\r
-typedef struct {\r
- LIST_ENTRY Node;\r
- PCD_PROTOCOL_CALLBACK CallbackFn;\r
-} CALLBACK_FN_ENTRY;\r
-\r
-#define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)\r
-\r
-//\r
-// Internal Functions\r
-//\r
-\r
-EFI_STATUS\r
-SetWorker (\r
- UINTN TokenNumber,\r
- VOID *Data,\r
- UINTN Size,\r
- BOOLEAN PtrType\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
- )\r
-;\r
-\r
-\r
-VOID *\r
-GetWorker (\r
- UINTN TokenNumber\r
- )\r
-;\r
-\r
-VOID *\r
-ExGetWorker (\r
- IN CONST EFI_GUID *Guid,\r
- IN UINTN ExTokenNumber,\r
- IN UINTN GetSize\r
- ) \r
-;\r
-\r
-UINT32\r
-GetSkuEnabledTokenNumber (\r
- UINT32 LocalTokenNumber,\r
- UINTN Size,\r
- BOOLEAN IsPeiDb\r
- ) \r
-;\r
-\r
-EFI_STATUS\r
-GetHiiVariable (\r
- IN EFI_GUID *VariableGuid,\r
- IN UINT16 *VariableName,\r
- OUT VOID ** VariableData,\r
- OUT UINTN *VariableSize\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-DxeRegisterCallBackWorker (\r
- IN UINTN TokenNumber,\r
- IN CONST EFI_GUID *Guid, OPTIONAL\r
- IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
-);\r
-\r
-EFI_STATUS\r
-DxeUnRegisterCallBackWorker (\r
- IN UINTN TokenNumber,\r
- IN CONST EFI_GUID *Guid, OPTIONAL\r
- IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
-);\r
-\r
-VOID\r
-BuildPcdDxeDataBase (\r
- VOID\r
-);\r
-\r
-\r
-typedef struct {\r
- UINTN TokenNumber;\r
- UINTN Size;\r
- UINT32 LocalTokenNumberAlias;\r
- BOOLEAN IsPeiDb;\r
-} EX_PCD_ENTRY_ATTRIBUTE;\r
-\r
-VOID\r
-GetExPcdTokenAttributes (\r
- IN CONST EFI_GUID *Guid,\r
- IN UINT32 ExTokenNumber,\r
- OUT EX_PCD_ENTRY_ATTRIBUTE *ExAttr\r
- )\r
-;\r
-\r
//\r
// Protocol Interface function declaration.\r
//\r
VOID\r
EFIAPI\r
DxePcdSetSku (\r
- IN SKU_ID SkuId\r
+ IN UINTN SkuId\r
)\r
;\r
\r
UINT8\r
EFIAPI\r
DxePcdGet8 (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
UINT16\r
EFIAPI\r
DxePcdGet16 (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
UINT32\r
EFIAPI\r
DxePcdGet32 (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
UINT64\r
EFIAPI\r
DxePcdGet64 (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
VOID *\r
EFIAPI\r
DxePcdGetPtr (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
BOOLEAN\r
EFIAPI\r
DxePcdGetBool (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
UINTN\r
EFIAPI\r
DxePcdGetSize (\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet8Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet16Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet32Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet64Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetPtrEx (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetBoolEx (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetSizeEx (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber\r
+ IN UINTN TokenNumber\r
)\r
;\r
\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet8 (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT8 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet16 (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT16 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet32 (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT32 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet64 (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT64 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSetPtr (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
- IN UINTN SizeOfBuffer,\r
- IN VOID *Buffer\r
+ IN UINTN TokenNumber,\r
+ IN UINTN *SizeOfBuffer,\r
+ IN VOID *Buffer\r
)\r
;\r
\r
EFI_STATUS\r
EFIAPI\r
DxePcdSetBool (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN BOOLEAN Value\r
)\r
;\r
EFIAPI\r
DxePcdSet8Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT8 Value\r
)\r
;\r
EFIAPI\r
DxePcdSet16Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT16 Value\r
)\r
;\r
EFIAPI\r
DxePcdSet32Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT32 Value\r
)\r
;\r
EFIAPI\r
DxePcdSet64Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN UINT64 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSetPtrEx (\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
EFIAPI\r
DxePcdSetBoolEx (\r
IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
+ IN UINTN TokenNumber,\r
IN BOOLEAN Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxeRegisterCallBackOnSet (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
IN CONST EFI_GUID *Guid, OPTIONAL\r
+ IN UINTN TokenNumber,\r
IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxeUnRegisterCallBackOnSet (\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
IN CONST EFI_GUID *Guid, OPTIONAL\r
+ IN UINTN TokenNumber,\r
IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
)\r
;\r
EFIAPI\r
DxePcdGetNextToken (\r
IN CONST EFI_GUID *Guid, OPTIONAL\r
- IN OUT PCD_TOKEN_NUMBER *TokenNumber\r
+ IN OUT UINTN *TokenNumber\r
)\r
;\r
\r
+\r
+\r
EFI_STATUS\r
-SetWorkerByLocalTokenNumber (\r
- UINT32 LocalTokenNumber,\r
- VOID *Data,\r
- UINTN Size,\r
- BOOLEAN PtrType,\r
- BOOLEAN IsPeiDb\r
+EFIAPI\r
+DxePcdGetNextTokenSpace (\r
+ IN OUT CONST EFI_GUID **Guid\r
)\r
;\r
\r
-PCD_TOKEN_NUMBER\r
+\r
+typedef struct {\r
+ LIST_ENTRY Node;\r
+ PCD_PROTOCOL_CALLBACK CallbackFn;\r
+} CALLBACK_FN_ENTRY;\r
+\r
+#define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)\r
+\r
+//\r
+// Internal Functions\r
+//\r
+\r
+EFI_STATUS\r
+SetValueWorker (\r
+ IN UINTN TokenNumber,\r
+ IN VOID *Data,\r
+ IN UINTN Size\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+SetWorker (\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
+ExSetValueWorker (\r
+ IN UINTN ExTokenNumber,\r
+ IN CONST EFI_GUID *Guid,\r
+ IN VOID *Data,\r
+ IN UINTN SetSize\r
+ )\r
+;\r
+\r
+\r
+\r
+EFI_STATUS\r
+ExSetWorker (\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
+VOID *\r
+GetWorker (\r
+ IN UINTN TokenNumber,\r
+ IN UINTN GetSize\r
+ )\r
+;\r
+\r
+VOID *\r
+ExGetWorker (\r
+ IN CONST EFI_GUID *Guid,\r
+ IN UINTN ExTokenNumber,\r
+ IN UINTN GetSize\r
+ ) \r
+;\r
+\r
+UINT32\r
+GetSkuEnabledTokenNumber (\r
+ UINT32 LocalTokenNumber,\r
+ UINTN Size,\r
+ BOOLEAN IsPeiDb\r
+ ) \r
+;\r
+\r
+EFI_STATUS\r
+GetHiiVariable (\r
+ IN EFI_GUID *VariableGuid,\r
+ IN UINT16 *VariableName,\r
+ OUT UINT8 **VariableData,\r
+ OUT UINTN *VariableSize\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+SetHiiVariable (\r
+ IN EFI_GUID *VariableGuid,\r
+ IN UINT16 *VariableName,\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize,\r
+ IN UINTN Offset\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+DxeRegisterCallBackWorker (\r
+ IN UINTN TokenNumber,\r
+ IN CONST EFI_GUID *Guid, OPTIONAL\r
+ IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
+);\r
+\r
+EFI_STATUS\r
+DxeUnRegisterCallBackWorker (\r
+ IN UINTN TokenNumber,\r
+ IN CONST EFI_GUID *Guid, OPTIONAL\r
+ IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
+);\r
+\r
+VOID\r
+BuildPcdDxeDataBase (\r
+ VOID\r
+);\r
+\r
+\r
+UINTN \r
+GetExPcdTokenNumber (\r
+ IN CONST EFI_GUID *Guid,\r
+ IN UINT32 ExTokenNumber\r
+ )\r
+;\r
+\r
+\r
+\r
+EFI_STATUS \r
ExGetNextTokeNumber (\r
- IN CONST EFI_GUID *Guid,\r
- IN PCD_TOKEN_NUMBER TokenNumber,\r
- IN EFI_GUID *GuidTable,\r
- IN UINTN SizeOfGuidTable,\r
- IN DYNAMICEX_MAPPING *ExMapTable,\r
- IN UINTN SizeOfExMapTable\r
+ IN CONST EFI_GUID *Guid,\r
+ IN OUT UINTN *TokenNumber,\r
+ IN EFI_GUID *GuidTable,\r
+ IN UINTN SizeOfGuidTable,\r
+ IN DYNAMICEX_MAPPING *ExMapTable,\r
+ IN UINTN SizeOfExMapTable\r
+ )\r
+;\r
+\r
+\r
+UINTN\r
+GetPtrTypeSize (\r
+ IN UINTN LocalTokenNumberTableIdx,\r
+ OUT UINTN *MaxSize\r
+ )\r
+;\r
+\r
+\r
+\r
+BOOLEAN\r
+SetPtrTypeSize (\r
+ IN UINTN LocalTokenNumberTableIdx,\r
+ IN OUT UINTN *CurrentSize\r
)\r
;\r
\r
\r
extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit;\r
\r
+extern EFI_LOCK mPcdDatabaseLock;\r
+\r
#endif\r