#define PCD_DATA_BASE_SIGNATURE_GUID \\r
{ 0x3c7d193c, 0x682c, 0x4c14, { 0xa6, 0x8f, 0x55, 0x2d, 0xea, 0x4f, 0x43, 0x7e } }\r
\r
-extern EFI_GUID gPcdDataBaseSignatureGuid;\r
+extern EFI_GUID gPcdDataBaseSignatureGuid;\r
\r
//\r
// Common definitions\r
//\r
typedef UINT64 SKU_ID;\r
\r
-#define PCD_TYPE_SHIFT 28\r
+#define PCD_TYPE_SHIFT 28\r
\r
-#define PCD_TYPE_DATA (0x0U << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_HII (0x8U << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_VPD (0x4U << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_STRING (0x1U << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_DATA (0x0U << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_HII (0x8U << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_VPD (0x4U << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_STRING (0x1U << PCD_TYPE_SHIFT)\r
\r
-#define PCD_TYPE_ALL_SET (PCD_TYPE_DATA | PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_STRING)\r
+#define PCD_TYPE_ALL_SET (PCD_TYPE_DATA | PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_STRING)\r
\r
#define PCD_DATUM_TYPE_SHIFT 24\r
\r
PCD_DATUM_TYPE_UINT32 | \\r
PCD_DATUM_TYPE_UINT64)\r
\r
-#define PCD_DATUM_TYPE_SHIFT2 20\r
+#define PCD_DATUM_TYPE_SHIFT2 20\r
\r
-#define PCD_DATUM_TYPE_UINT8_BOOLEAN (0x1U << PCD_DATUM_TYPE_SHIFT2)\r
+#define PCD_DATUM_TYPE_UINT8_BOOLEAN (0x1U << PCD_DATUM_TYPE_SHIFT2)\r
\r
-#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_ALL_SET | PCD_DATUM_TYPE_ALL_SET | PCD_DATUM_TYPE_UINT8_BOOLEAN))\r
+#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_ALL_SET | PCD_DATUM_TYPE_ALL_SET | PCD_DATUM_TYPE_UINT8_BOOLEAN))\r
\r
typedef struct {\r
- UINT32 ExTokenNumber;\r
- UINT16 TokenNumber; // Token Number for Dynamic-Ex PCD.\r
- UINT16 ExGuidIndex; // Index of GuidTable in units of GUID.\r
+ UINT32 ExTokenNumber;\r
+ UINT16 TokenNumber; // Token Number for Dynamic-Ex PCD.\r
+ UINT16 ExGuidIndex; // Index of GuidTable in units of GUID.\r
} DYNAMICEX_MAPPING;\r
\r
typedef struct {\r
- UINT32 StringIndex; // Offset in String Table in units of UINT8.\r
- UINT32 DefaultValueOffset; // Offset of the Default Value.\r
- UINT16 GuidTableIndex; // Offset in Guid Table in units of GUID.\r
- UINT16 Offset; // Offset in Variable.\r
- UINT32 Attributes; // Variable attributes.\r
- UINT16 Property; // Variable property.\r
- UINT16 Reserved;\r
+ UINT32 StringIndex; // Offset in String Table in units of UINT8.\r
+ UINT32 DefaultValueOffset; // Offset of the Default Value.\r
+ UINT16 GuidTableIndex; // Offset in Guid Table in units of GUID.\r
+ UINT16 Offset; // Offset in Variable.\r
+ UINT32 Attributes; // Variable attributes.\r
+ UINT16 Property; // Variable property.\r
+ UINT16 Reserved;\r
} VARIABLE_HEAD;\r
\r
typedef struct {\r
- UINT32 Offset;\r
+ UINT32 Offset;\r
} VPD_HEAD;\r
\r
typedef UINT32 STRING_HEAD;\r
typedef UINT16 SIZE_INFO;\r
\r
typedef struct {\r
- UINT32 TokenSpaceCNameIndex; // Offset in String Table in units of UINT8.\r
- UINT32 PcdCNameIndex; // Offset in String Table in units of UINT8.\r
+ UINT32 TokenSpaceCNameIndex; // Offset in String Table in units of UINT8.\r
+ UINT32 PcdCNameIndex; // Offset in String Table in units of UINT8.\r
} PCD_NAME_INDEX;\r
\r
typedef UINT32 TABLE_OFFSET;\r
\r
typedef struct {\r
- GUID Signature; // PcdDataBaseGuid.\r
- UINT32 BuildVersion;\r
- UINT32 Length; // Length of DEFAULT SKU PCD DB\r
- SKU_ID SystemSkuId; // Current SkuId value.\r
- UINT32 LengthForAllSkus; // Length of all SKU PCD DB\r
- UINT32 UninitDataBaseSize; // Total size for PCD those default value with 0.\r
- TABLE_OFFSET LocalTokenNumberTableOffset;\r
- TABLE_OFFSET ExMapTableOffset;\r
- TABLE_OFFSET GuidTableOffset;\r
- TABLE_OFFSET StringTableOffset;\r
- TABLE_OFFSET SizeTableOffset;\r
- TABLE_OFFSET SkuIdTableOffset;\r
- TABLE_OFFSET PcdNameTableOffset;\r
- UINT16 LocalTokenCount; // LOCAL_TOKEN_NUMBER for all.\r
- UINT16 ExTokenCount; // EX_TOKEN_NUMBER for DynamicEx.\r
- UINT16 GuidTableCount; // The Number of Guid in GuidTable.\r
- UINT8 Pad[6]; // Pad bytes to satisfy the alignment.\r
-\r
- //\r
- // Default initialized external PCD database binary structure\r
- //\r
- // Padding is needed to keep necessary alignment\r
- //\r
- //SKU_ID SkuIdTable[]; // SkuIds system supports.\r
- //UINT64 ValueUint64[];\r
- //UINT32 ValueUint32[];\r
- //VPD_HEAD VpdHead[]; // VPD Offset\r
- //DYNAMICEX_MAPPING ExMapTable[]; // DynamicEx PCD mapped to LocalIndex in LocalTokenNumberTable. It can be accessed by the ExMapTableOffset.\r
- //UINT32 LocalTokenNumberTable[]; // Offset | DataType | PCD Type. It can be accessed by LocalTokenNumberTableOffset.\r
- //GUID GuidTable[]; // GUID for DynamicEx and HII PCD variable Guid. It can be accessed by the GuidTableOffset.\r
- //STRING_HEAD StringHead[]; // String PCD\r
- //PCD_NAME_INDEX PcdNameTable[]; // PCD name index info. It can be accessed by the PcdNameTableOffset.\r
- //VARIABLE_HEAD VariableHead[]; // HII PCD\r
- //UINT8 StringTable[]; // String for String PCD value and HII PCD Variable Name. It can be accessed by StringTableOffset.\r
- //SIZE_INFO SizeTable[]; // MaxSize and CurSize for String PCD. It can be accessed by SizeTableOffset.\r
- //UINT16 ValueUint16[];\r
- //UINT8 ValueUint8[];\r
- //BOOLEAN ValueBoolean[];\r
-\r
+ GUID Signature; // PcdDataBaseGuid.\r
+ UINT32 BuildVersion;\r
+ UINT32 Length; // Length of DEFAULT SKU PCD DB\r
+ SKU_ID SystemSkuId; // Current SkuId value.\r
+ UINT32 LengthForAllSkus; // Length of all SKU PCD DB\r
+ UINT32 UninitDataBaseSize; // Total size for PCD those default value with 0.\r
+ TABLE_OFFSET LocalTokenNumberTableOffset;\r
+ TABLE_OFFSET ExMapTableOffset;\r
+ TABLE_OFFSET GuidTableOffset;\r
+ TABLE_OFFSET StringTableOffset;\r
+ TABLE_OFFSET SizeTableOffset;\r
+ TABLE_OFFSET SkuIdTableOffset;\r
+ TABLE_OFFSET PcdNameTableOffset;\r
+ UINT16 LocalTokenCount; // LOCAL_TOKEN_NUMBER for all.\r
+ UINT16 ExTokenCount; // EX_TOKEN_NUMBER for DynamicEx.\r
+ UINT16 GuidTableCount; // The Number of Guid in GuidTable.\r
+ UINT8 Pad[6]; // Pad bytes to satisfy the alignment.\r
+\r
+ //\r
+ // Default initialized external PCD database binary structure\r
+ //\r
+ // Padding is needed to keep necessary alignment\r
+ //\r
+ // SKU_ID SkuIdTable[]; // SkuIds system supports.\r
+ // UINT64 ValueUint64[];\r
+ // UINT32 ValueUint32[];\r
+ // VPD_HEAD VpdHead[]; // VPD Offset\r
+ // DYNAMICEX_MAPPING ExMapTable[]; // DynamicEx PCD mapped to LocalIndex in LocalTokenNumberTable. It can be accessed by the ExMapTableOffset.\r
+ // UINT32 LocalTokenNumberTable[]; // Offset | DataType | PCD Type. It can be accessed by LocalTokenNumberTableOffset.\r
+ // GUID GuidTable[]; // GUID for DynamicEx and HII PCD variable Guid. It can be accessed by the GuidTableOffset.\r
+ // STRING_HEAD StringHead[]; // String PCD\r
+ // PCD_NAME_INDEX PcdNameTable[]; // PCD name index info. It can be accessed by the PcdNameTableOffset.\r
+ // VARIABLE_HEAD VariableHead[]; // HII PCD\r
+ // UINT8 StringTable[]; // String for String PCD value and HII PCD Variable Name. It can be accessed by StringTableOffset.\r
+ // SIZE_INFO SizeTable[]; // MaxSize and CurSize for String PCD. It can be accessed by SizeTableOffset.\r
+ // UINT16 ValueUint16[];\r
+ // UINT8 ValueUint8[];\r
+ // BOOLEAN ValueBoolean[];\r
} PCD_DATABASE_INIT;\r
\r
//\r
// PEI and DXE Pcd driver use the same PCD database\r
//\r
-typedef PCD_DATABASE_INIT PEI_PCD_DATABASE;\r
-typedef PCD_DATABASE_INIT DXE_PCD_DATABASE;\r
-\r
+typedef PCD_DATABASE_INIT PEI_PCD_DATABASE;\r
+typedef PCD_DATABASE_INIT DXE_PCD_DATABASE;\r
\r
typedef struct {\r
- PEI_PCD_DATABASE *PeiDb;\r
- DXE_PCD_DATABASE *DxeDb;\r
+ PEI_PCD_DATABASE *PeiDb;\r
+ DXE_PCD_DATABASE *DxeDb;\r
} PCD_DATABASE;\r
\r
typedef struct {\r
- UINT32 Offset:24;\r
- UINT32 Value:8;\r
+ UINT32 Offset : 24;\r
+ UINT32 Value : 8;\r
} PCD_DATA_DELTA;\r
\r
typedef struct {\r
- SKU_ID SkuId;\r
- UINT16 DefaultId;\r
- UINT8 Reserved[6];\r
+ SKU_ID SkuId;\r
+ UINT16 DefaultId;\r
+ UINT8 Reserved[6];\r
} PCD_DEFAULT_INFO;\r
\r
typedef struct {\r
//\r
// Full size, it must be at 8 byte alignment.\r
//\r
- UINT32 DataSize;\r
+ UINT32 DataSize;\r
//\r
// HeaderSize includes HeaderSize fields and DefaultInfo arrays\r
//\r
- UINT32 HeaderSize;\r
+ UINT32 HeaderSize;\r
//\r
// DefaultInfo arrays those have the same default setting.\r
//\r
- PCD_DEFAULT_INFO DefaultInfo[1];\r
+ PCD_DEFAULT_INFO DefaultInfo[1];\r
//\r
// Default data is stored as variable storage or the array of DATA_DELTA.\r
//\r
} PCD_DEFAULT_DATA;\r
\r
-#define PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE SIGNATURE_32('N', 'S', 'D', 'B')\r
+#define PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE SIGNATURE_32('N', 'S', 'D', 'B')\r
\r
typedef struct {\r
//\r