//\r
VARIABLE_GLOBAL *mGlobal;\r
\r
-STATIC\r
VOID\r
EFIAPI\r
-OnVirtualAddressChange (\r
+OnVirtualAddressChangeFsv (\r
IN EFI_EVENT Event,\r
IN VOID *Context\r
);\r
\r
-STATIC\r
VOID\r
EFIAPI\r
OnSimpleFileSystemInstall (\r
IN VOID *Context\r
);\r
\r
-STATIC\r
BOOLEAN\r
IsValidVariableHeader (\r
IN VARIABLE_HEADER *Variable\r
{\r
if (Variable == NULL ||\r
Variable->StartId != VARIABLE_DATA ||\r
- (sizeof (VARIABLE_HEADER) + Variable->NameSize + Variable->DataSize) > MAX_VARIABLE_SIZE\r
+ (sizeof (VARIABLE_HEADER) + Variable->NameSize + Variable->DataSize) > FixedPcdGet32(PcdMaxVariableSize)\r
) {\r
return FALSE;\r
}\r
return TRUE;\r
}\r
\r
-STATIC\r
VARIABLE_STORE_STATUS\r
GetVariableStoreStatus (\r
IN VARIABLE_STORE_HEADER *VarStoreHeader\r
}\r
}\r
\r
-STATIC\r
UINT8 *\r
GetVariableDataPtr (\r
IN VARIABLE_HEADER *Variable\r
return (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (Variable) + Variable->NameSize + GET_PAD_SIZE (Variable->NameSize));\r
}\r
\r
-STATIC\r
VARIABLE_HEADER *\r
GetNextVariablePtr (\r
IN VARIABLE_HEADER *Variable\r
return (VARIABLE_HEADER *) ((UINTN) GetVariableDataPtr (Variable) + Variable->DataSize + GET_PAD_SIZE (Variable->DataSize));\r
}\r
\r
-STATIC\r
VARIABLE_HEADER *\r
GetEndPointer (\r
IN VARIABLE_STORE_HEADER *VarStoreHeader\r
return FALSE;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
Reclaim (\r
IN VARIABLE_STORAGE_TYPE StorageType,\r
Status = gBS->AllocatePool (\r
EfiBootServicesData,\r
ValidBufferSize,\r
- &ValidBuffer\r
+ (VOID**) &ValidBuffer\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
FindVariable (\r
IN CHAR16 *VariableName,\r
\r
Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
}\r
-\r
- return EFI_NOT_FOUND;\r
}\r
\r
EFI_STATUS\r
\r
//\r
// The size of the VariableName, including the Unicode Null in bytes plus\r
- // the DataSize is limited to maximum size of MAX_HARDWARE_ERROR_VARIABLE_SIZE (32K)\r
- // bytes for HwErrRec, and MAX_VARIABLE_SIZE (1024) bytes for the others.\r
+ // the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxHardwareErrorVariableSize)\r
+ // bytes for HwErrRec, and FixedPcdGet32(PcdMaxVariableSize) bytes for the others.\r
//\r
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
- if ((DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE) || \r
- (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE)) {\r
+ if ((DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize)) || \r
+ (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize))) {\r
return EFI_INVALID_PARAMETER;\r
} \r
} else {\r
- if ((DataSize > MAX_VARIABLE_SIZE) ||\r
- (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE)) {\r
+ if ((DataSize > FixedPcdGet32(PcdMaxVariableSize)) ||\r
+ (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxVariableSize))) {\r
return EFI_INVALID_PARAMETER;\r
} \r
} \r
*RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);\r
\r
//\r
- // Let *MaximumVariableSize be MAX_VARIABLE_SIZE with the exception of the variable header size.\r
+ // Let *MaximumVariableSize be FixedPcdGet32(PcdMaxVariableSize) with the exception of the variable header size.\r
//\r
- *MaximumVariableSize = MAX_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+ *MaximumVariableSize = FixedPcdGet32(PcdMaxVariableSize) - sizeof (VARIABLE_HEADER);\r
\r
//\r
// Harware error record variable needs larger size.\r
//\r
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
- *MaximumVariableSize = MAX_HARDWARE_ERROR_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+ *MaximumVariableSize = FixedPcdGet32(PcdMaxHardwareErrorVariableSize) - sizeof (VARIABLE_HEADER);\r
}\r
\r
//\r
Status = gBS->AllocatePool (\r
EfiRuntimeServicesData,\r
(UINTN) sizeof (VARIABLE_GLOBAL),\r
- &mGlobal\r
+ (VOID**) &mGlobal\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
return Status;\r
}\r
\r
- VariableStoreEntry = FlashMapEntryData->Entries[0];\r
+ CopyMem(\r
+ (VOID*)&VariableStoreEntry,\r
+ (VOID*)&FlashMapEntryData->Entries[0],\r
+ sizeof(EFI_FLASH_SUBAREA_ENTRY)\r
+ );\r
\r
//\r
// Mark the variable storage region of the FLASH as RUNTIME\r
Status = EFI_UNSUPPORTED;\r
return Status;\r
}\r
- \r
+\r
Status = FileStorageConstructor (\r
&mGlobal->VariableStore[NonVolatile], \r
&mGlobal->GoVirtualChildEvent[NonVolatile],\r
\r
\r
\r
-STATIC\r
VOID\r
EFIAPI\r
-OnVirtualAddressChange (\r
+OnVirtualAddressChangeFsv (\r
IN EFI_EVENT Event,\r
IN VOID *Context\r
)\r
\r
for (Index = 0; Index < MaxType; Index++) {\r
mGlobal->GoVirtualChildEvent[Index] (Event, mGlobal->VariableStore[Index]);\r
- EfiConvertPointer (0, &mGlobal->VariableStore[Index]);\r
+ EfiConvertPointer (0, (VOID**) &mGlobal->VariableStore[Index]);\r
EfiConvertPointer (0, &mGlobal->VariableBase[Index]);\r
}\r
EfiConvertPointer (0, &mGlobal->Scratch);\r
- EfiConvertPointer (0, &mGlobal);\r
+ EfiConvertPointer (0, (VOID**) &mGlobal);\r
}\r