]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/FSVariable/FSVariable.c
Use "==" to define build options for USER_DEFINED module
[mirror_edk2.git] / DuetPkg / FSVariable / FSVariable.c
index 0977887818e51756459a5f9071729db48dd509e4..18b93c08cc0854703c170d8ef781b4e0fe372c75 100644 (file)
@@ -35,15 +35,13 @@ VARIABLE_STORE_HEADER mStoreHeaderTemplate = {
 //\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
@@ -51,7 +49,6 @@ OnSimpleFileSystemInstall (
   IN VOID             *Context\r
   );\r
 \r
-STATIC\r
 BOOLEAN\r
 IsValidVariableHeader (\r
   IN  VARIABLE_HEADER   *Variable\r
@@ -73,7 +70,7 @@ Returns:
 {\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
@@ -81,7 +78,6 @@ Returns:
   return TRUE;\r
 }\r
 \r
-STATIC\r
 VARIABLE_STORE_STATUS\r
 GetVariableStoreStatus (\r
   IN VARIABLE_STORE_HEADER *VarStoreHeader\r
@@ -121,7 +117,6 @@ Returns:
   }\r
 }\r
 \r
-STATIC\r
 UINT8 *\r
 GetVariableDataPtr (\r
   IN  VARIABLE_HEADER   *Variable\r
@@ -148,7 +143,6 @@ Returns:
   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
@@ -178,7 +172,6 @@ Returns:
   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
@@ -250,7 +243,6 @@ Returns:
   return FALSE;\r
 }\r
 \r
-STATIC\r
 EFI_STATUS\r
 Reclaim (\r
   IN  VARIABLE_STORAGE_TYPE StorageType,\r
@@ -300,7 +292,7 @@ Returns:
   Status = gBS->AllocatePool (\r
                   EfiBootServicesData,\r
                   ValidBufferSize,\r
-                  &ValidBuffer\r
+                  (VOID**) &ValidBuffer\r
                   );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -374,7 +366,6 @@ Returns:
   return Status;\r
 }\r
 \r
-STATIC\r
 EFI_STATUS\r
 FindVariable (\r
   IN  CHAR16                  *VariableName,\r
@@ -676,8 +667,6 @@ Returns:
 \r
     Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
   }\r
-\r
-  return EFI_NOT_FOUND;\r
 }\r
 \r
 EFI_STATUS\r
@@ -745,17 +734,17 @@ Returns:
   \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
@@ -1046,15 +1035,15 @@ Returns:
   *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
@@ -1143,7 +1132,7 @@ Returns:
   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
@@ -1164,8 +1153,12 @@ Returns:
     Status = EFI_NOT_FOUND;\r
     return Status;\r
   }\r
-\r
-  VariableStoreEntry = FlashMapEntryData->Entries[0];\r
+  \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
@@ -1187,7 +1180,7 @@ Returns:
     Status = EFI_UNSUPPORTED;\r
     return Status;\r
   }\r
-  \r
+\r
   Status = FileStorageConstructor (\r
              &mGlobal->VariableStore[NonVolatile], \r
              &mGlobal->GoVirtualChildEvent[NonVolatile],\r
@@ -1301,10 +1294,9 @@ Returns:
 \r
 \r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
-OnVirtualAddressChange (\r
+OnVirtualAddressChangeFsv (\r
   IN EFI_EVENT        Event,\r
   IN VOID             *Context\r
   )\r
@@ -1313,9 +1305,9 @@ OnVirtualAddressChange (
 \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