]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/FSVariable/FileStorage.c
Fix more InitializeDebugAgent API change bugs. GDB stub was not turned on in example...
[mirror_edk2.git] / DuetPkg / FSVariable / FileStorage.c
index 3588f3ecbc81a7d71e451edfb169b7a6ba5b4915..4bf0a89d7488d2547e1f875ae1b1bbd03f8dc511 100644 (file)
@@ -1,7 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -28,22 +28,19 @@ VOID             *mSFSRegistration;
 // Prototypes\r
 //\r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
-OnVirtualAddressChange (\r
+OnVirtualAddressChangeFs (\r
   IN EFI_EVENT            Event,\r
   IN VOID                 *Context\r
   );\r
 \r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 FileEraseStore(\r
   IN VARIABLE_STORAGE     *This\r
   );\r
 \r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 FileWriteStore (\r
@@ -53,22 +50,20 @@ FileWriteStore (
   IN VOID                 *Buffer\r
   );\r
 \r
-STATIC\r
 EFI_STATUS\r
 OpenStore (\r
   IN  EFI_DEVICE_PATH_PROTOCOL  *Device,\r
   IN  CHAR16                    *FilePathName,\r
   IN  UINT64                    OpenMode,\r
-  OUT EFI_FILE                  **File\r
+  OUT EFI_FILE_PROTOCOL         **File\r
   );\r
 \r
 //\r
 // Implementation below:\r
 //\r
-STATIC\r
 VOID\r
 FileClose (\r
-  IN  EFI_FILE                   *File\r
+  IN  EFI_FILE_PROTOCOL          *File\r
   )\r
 {\r
   EFI_STATUS Status;\r
@@ -159,7 +154,7 @@ CheckStoreExists (
   Status = gBS->HandleProtocol (\r
                   Handle,\r
                   &gEfiSimpleFileSystemProtocolGuid,\r
-                  &Volume\r
+                  (VOID **) &Volume\r
                   );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -173,7 +168,6 @@ CheckStoreExists (
 // read the store_header, init store_header if it has not been inited (read sth. about format/heathy)\r
 // reclaim space using scratch memory\r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
 OnSimpleFileSystemInstall (\r
@@ -186,7 +180,7 @@ OnSimpleFileSystemInstall (
   EFI_HANDLE                Handle;\r
   EFI_DEVICE_PATH_PROTOCOL  *Device;\r
   VS_DEV                    *Dev;\r
-  EFI_FILE                  *File;\r
+  EFI_FILE_PROTOCOL         *File;\r
   UINTN                     NumBytes;\r
 \r
   Dev = (VS_DEV *) Context;\r
@@ -229,9 +223,7 @@ OnSimpleFileSystemInstall (
   NumBytes = Dev->Size;\r
   Status = File->Write (File, &NumBytes, VAR_DATA_PTR (Dev));\r
   ASSERT_EFI_ERROR (Status);\r
-  // KEN: bugbug here if closing file, volume handle will be free,\r
-  // and system will be hang when accessing volume handle in future.\r
-  //FileClose (File);\r
+  FileClose (File);\r
   DEBUG ((EFI_D_ERROR, "FileStorage: Mapped to file!\n"));\r
 }\r
 \r
@@ -249,11 +241,11 @@ FileStorageConstructor (
   EFI_STATUS                Status;\r
   EFI_EVENT                 Event;\r
 \r
-  Status = gBS->AllocatePool (EfiRuntimeServicesData, sizeof(VS_DEV), &Dev);\r
+  Status = gBS->AllocatePool (EfiRuntimeServicesData, sizeof(VS_DEV), (VOID **) &Dev);\r
   ASSERT_EFI_ERROR (Status);\r
   ZeroMem (Dev, sizeof(VS_DEV));\r
 \r
-  Dev->Signature          = VARIABLE_STORE_SIGNATURE;\r
+  Dev->Signature          = VS_DEV_SIGNATURE;\r
   Dev->Size               = Size;\r
   VAR_DATA_PTR (Dev)      = (UINT8 *) (UINTN) NvStorageBase;\r
   VAR_FILE_VOLUMEID (Dev) = VolumeId;\r
@@ -282,11 +274,10 @@ FileStorageConstructor (
   ASSERT_EFI_ERROR (Status);\r
 \r
   *VarStore       = &Dev->VarStore;\r
-  *GoVirtualEvent = OnVirtualAddressChange;\r
+  *GoVirtualEvent = OnVirtualAddressChangeFs;\r
   return EFI_SUCCESS;\r
 }\r
 \r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 FileEraseStore(\r
@@ -295,7 +286,7 @@ FileEraseStore(
 {\r
   EFI_STATUS              Status;\r
   VS_DEV                  *Dev;\r
-  EFI_FILE                *File;\r
+  EFI_FILE_PROTOCOL       *File;\r
   UINTN                   NumBytes;\r
 \r
   Status = EFI_SUCCESS;\r
@@ -320,7 +311,6 @@ FileEraseStore(
   return Status;\r
 }\r
 \r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 FileWriteStore (\r
@@ -332,7 +322,7 @@ FileWriteStore (
 {\r
   EFI_STATUS              Status;\r
   VS_DEV                  *Dev;\r
-  EFI_FILE                *File;\r
+  EFI_FILE_PROTOCOL       *File;\r
 \r
   Status = EFI_SUCCESS;\r
   Dev    = DEV_FROM_THIS(This);\r
@@ -358,10 +348,9 @@ FileWriteStore (
   return Status;\r
 }\r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
-OnVirtualAddressChange (\r
+OnVirtualAddressChangeFs (\r
   IN EFI_EVENT            Event,\r
   IN VOID                 *Context\r
   )\r
@@ -370,18 +359,17 @@ OnVirtualAddressChange (
 \r
   Dev = DEV_FROM_THIS (Context);\r
 \r
-  EfiConvertPointer (0, &VAR_DATA_PTR (Dev));\r
+  EfiConvertPointer (0, (VOID **) &VAR_DATA_PTR (Dev));\r
   EfiConvertPointer (0, (VOID **) &Dev->VarStore.Erase);\r
   EfiConvertPointer (0, (VOID **) &Dev->VarStore.Write);\r
 }\r
 \r
-STATIC\r
 EFI_STATUS\r
 OpenStore (\r
   IN  EFI_DEVICE_PATH_PROTOCOL  *Device,\r
   IN  CHAR16                    *FilePathName,\r
   IN  UINT64                    OpenMode,\r
-  OUT EFI_FILE                  **File\r
+  OUT EFI_FILE_PROTOCOL         **File\r
   )\r
 {\r
   EFI_HANDLE                        Handle;\r
@@ -404,7 +392,7 @@ OpenStore (
   Status = gBS->HandleProtocol (\r
                   Handle,\r
                   &gEfiSimpleFileSystemProtocolGuid,\r
-                  &Volume\r
+                  (VOID **) &Volume\r
                   );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r