]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FatPkg/EnhancedFatDxe/DiskCache.c
FatPkg: INF/DEC file updates to EDK II packages
[mirror_edk2.git] / FatPkg / EnhancedFatDxe / DiskCache.c
index ef27a53eab2f5466feb24de8aa607fd07e8c9622..ddf99edf91a5913b57cd1cd60cd544995c1597dc 100644 (file)
@@ -1,7 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2005 - 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials are licensed and made available\r
+Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available\r
 under the terms and conditions of the BSD License which accompanies this\r
 distribution. The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -109,7 +109,8 @@ FatExchangeCachePage (
   IN FAT_VOLUME         *Volume,\r
   IN CACHE_DATA_TYPE    DataType,\r
   IN IO_MODE            IoMode,\r
-  IN CACHE_TAG          *CacheTag\r
+  IN CACHE_TAG          *CacheTag,\r
+  IN FAT_TASK           *Task\r
   )\r
 /*++\r
 \r
@@ -167,7 +168,7 @@ Returns:
     //\r
     // Only fat table writing will execute more than once\r
     //\r
-    Status = FatDiskIo (Volume, IoMode, EntryPos, RealSize, PageAddress);\r
+    Status = FatDiskIo (Volume, IoMode, EntryPos, RealSize, PageAddress, Task);\r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
@@ -223,7 +224,7 @@ Returns:
   // Write dirty cache page back to disk\r
   //\r
   if (CacheTag->RealSize > 0 && CacheTag->Dirty) {\r
-    Status = FatExchangeCachePage (Volume, CacheDataType, WRITE_DISK, CacheTag);\r
+    Status = FatExchangeCachePage (Volume, CacheDataType, WRITE_DISK, CacheTag, NULL);\r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
@@ -232,7 +233,7 @@ Returns:
   // Load new data from disk;\r
   //\r
   CacheTag->PageNo  = PageNo;\r
-  Status            = FatExchangeCachePage (Volume, CacheDataType, READ_DISK, CacheTag);\r
+  Status            = FatExchangeCachePage (Volume, CacheDataType, READ_DISK, CacheTag, NULL);\r
 \r
   return Status;\r
 }\r
@@ -305,7 +306,8 @@ FatAccessCache (
   IN     IO_MODE            IoMode,\r
   IN     UINT64             Offset,\r
   IN     UINTN              BufferSize,\r
-  IN OUT UINT8              *Buffer\r
+  IN OUT UINT8              *Buffer,\r
+  IN     FAT_TASK           *Task\r
   )\r
 /*++\r
 Routine Description:\r
@@ -393,7 +395,7 @@ Returns:
 \r
     EntryPos    = Volume->RootPos + LShiftU64 (PageNo, PageAlignment);\r
     AlignedSize = AlignedPageCount << PageAlignment;\r
-    Status      = FatDiskIo (Volume, IoMode, EntryPos, AlignedSize, Buffer);\r
+    Status      = FatDiskIo (Volume, IoMode, EntryPos, AlignedSize, Buffer, Task);\r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
@@ -421,7 +423,8 @@ Returns:
 \r
 EFI_STATUS\r
 FatVolumeFlushCache (\r
-  IN FAT_VOLUME         *Volume\r
+  IN FAT_VOLUME         *Volume,\r
+  IN FAT_TASK           *Task\r
   )\r
 /*++\r
 \r
@@ -460,7 +463,7 @@ Returns:
           //\r
           // Write back all Dirty Data Cache Page to disk\r
           //\r
-          Status = FatExchangeCachePage (Volume, CacheDataType, WRITE_DISK, CacheTag);\r
+          Status = FatExchangeCachePage (Volume, CacheDataType, WRITE_DISK, CacheTag, Task);\r
           if (EFI_ERROR (Status)) {\r
             return Status;\r
           }\r
@@ -529,7 +532,7 @@ Returns:
   //\r
   // Allocate the Fat Cache buffer\r
   //\r
-  CacheBuffer = AllocatePool (FatCacheSize + DataCacheSize);\r
+  CacheBuffer = AllocateZeroPool (FatCacheSize + DataCacheSize);\r
   if (CacheBuffer == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r