\r
#define VARIABLE_RECLAIM_THRESHOLD (1024)\r
\r
-#define VARIABLE_STORE_SIZE (64 * 1024)\r
-#define SCRATCH_SIZE (4 * 1024)\r
+#define VARIABLE_STORE_SIZE FixedPcdGet32(PcdVariableStoreSize)\r
+#define SCRATCH_SIZE FixedPcdGet32(PcdMaxVariableSize)\r
\r
//\r
// Define GET_PAD_SIZE to optimize compiler\r
#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))\r
#endif\r
\r
+#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
+\r
#define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
\r
\r
EFI_PHYSICAL_ADDRESS VolatileVariableBase;\r
EFI_PHYSICAL_ADDRESS NonVolatileVariableBase;\r
EFI_LOCK VariableServicesLock;\r
+ UINT32 ReentrantState;\r
} VARIABLE_GLOBAL;\r
\r
typedef struct {\r