]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/Pcd/PcdDatabaseCommonDefinitions.sample
map FeaturePcdGet(TokenName) to _PCD_GET_MODE_BOOL_##TokenName to follow the build...
[mirror_edk2.git] / Tools / Conf / Pcd / PcdDatabaseCommonDefinitions.sample
index d441aa0515d9428a2f8e1ddeabae680a5394c4e3..7df1a5a6f4028f6e76e24a1383dab1fd64bea80b 100644 (file)
@@ -7,21 +7,36 @@
 //\r
 typedef UINT8 SKU_ID;\r
 \r
-#define PCD_TYPE_SHIFT        24\r
+#define PCD_TYPE_SHIFT        28\r
 \r
+#define PCD_TYPE_DATA         (0x0 << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_HII               (0x8 << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_VPD               (0x4 << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_SKU_ENABLED   (0x2 << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_STRING       (0x1 << PCD_TYPE_SHIFT)\r
 \r
-#define PCD_TYPE_DATA         (0x00 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_HII               (0x80 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_VPD               (0x40 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_SKU_ENABLED   (0x20 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_STRING       (0x10 << PCD_TYPE_SHIFT)\r
+#define PCD_TYPE_ALL_SET      (PCD_TYPE_DATA | PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED | PCD_TYPE_STRING)\r
 \r
+#define PCD_DATUM_TYPE_SHIFT  24\r
 \r
-#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED | PCD_TYPE_STRING))\r
+#define PCD_DATUM_TYPE_POINTER        (0x0 << PCD_DATUM_TYPE_SHIFT)\r
+#define PCD_DATUM_TYPE_UINT8          (0x1 << PCD_DATUM_TYPE_SHIFT)\r
+#define PCD_DATUM_TYPE_UINT16              (0x2 << PCD_DATUM_TYPE_SHIFT)\r
+#define PCD_DATUM_TYPE_UINT32              (0x4 << PCD_DATUM_TYPE_SHIFT)\r
+#define PCD_DATUM_TYPE_UINT64          (0x8 << PCD_DATUM_TYPE_SHIFT)\r
+\r
+#define PCD_DATUM_TYPE_ALL_SET    (PCD_DATUM_TYPE_POINTER | \\r
+                                    PCD_DATUM_TYPE_UINT8  | \\r
+                                    PCD_DATUM_TYPE_UINT16 | \\r
+                                    PCD_DATUM_TYPE_UINT32 | \\r
+                                    PCD_DATUM_TYPE_UINT64)\r
+\r
+\r
+#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_ALL_SET | PCD_DATUM_TYPE_ALL_SET))\r
 \r
 typedef struct  {\r
   UINT32                ExTokenNumber;\r
-  UINT32                LocalTokenNumber;   // PCD Number of this particular platform build\r
+  UINT16                LocalTokenNumber;   // PCD Number of this particular platform build\r
   UINT16                ExGuidIndex;        // Index of GuidTable\r
 } DYNAMICEX_MAPPING;\r
 \r
@@ -33,9 +48,10 @@ typedef struct {
 \r
 \r
 typedef struct {\r
-  UINT16  GuidTableIndex;   // Offset in Guid Table in units of GUID.\r
-  UINT16  StringIndex;           // Offset in String Table in units of UINT16.\r
-  UINT16  Offset;           // Offset in Variable\r
+  UINT16  GuidTableIndex;     // Offset in Guid Table in units of GUID.\r
+  UINT16  StringIndex;        // Offset in String Table in units of UINT16.\r
+  UINT16  Offset;             // Offset in Variable\r
+  UINT16  DefaultValueOffset; // Offset of the Default Value\r
 } VARIABLE_HEAD  ;\r
 \r
 \r
@@ -43,13 +59,11 @@ typedef  struct {
   UINT32  Offset;\r
 } VPD_HEAD;\r
 \r
-typedef struct {\r
-  UINT32 LocalTokenNumber;\r
-  UINT16 TokenNumber;\r
-  UINT16 Size;\r
-} SIZEINFO;\r
+typedef UINT16 STRING_HEAD;\r
+\r
+typedef UINT16 SIZE_INFO;\r
 \r
-#define offsetof(s,m)                 (UINT32)&(((s *)0)->m)\r
+#define offsetof(s,m)                 (UINT32) (UINTN) &(((s *)0)->m)\r
 \r
 \r
 \r