]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/CapsuleRuntimeDxe/Arm/CapsuleReset.c
MdeModulePkg/CapsuleRuntimeDxe: Add cache flush for IA32 and X64
[mirror_edk2.git] / MdeModulePkg / Universal / CapsuleRuntimeDxe / Arm / CapsuleReset.c
index d79d2fc69324c1c42e466aa6246d19a8e1fa3ffa..ec630ab7a894873c8c148fa40c4665e9a5b314db 100644 (file)
@@ -3,6 +3,7 @@
   PersistAcrossReset capsules\r
 \r
   Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>\r
+  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
 \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
@@ -16,8 +17,6 @@
 \r
 #include "CapsuleService.h"\r
 \r
-#include <Library/CacheMaintenanceLib.h>\r
-\r
 /**\r
   Whether the platform supports capsules that persist across reset. Note that\r
   some platforms only support such capsules at boot time.\r
@@ -41,35 +40,3 @@ IsPersistAcrossResetCapsuleSupported (
   return FeaturePcdGet (PcdSupportUpdateCapsuleReset) && !EfiAtRuntime ();\r
 }\r
 \r
-/**\r
-  Writes Back a range of data cache lines covering a set of capsules in memory.\r
-\r
-  Writes Back the data cache lines specified by ScatterGatherList.\r
-\r
-  @param  ScatterGatherList Physical address of the data structure that\r
-                            describes a set of capsules in memory\r
-\r
-**/\r
-VOID\r
-CapsuleCacheWriteBack (\r
-  IN  EFI_PHYSICAL_ADDRESS    ScatterGatherList\r
-  )\r
-{\r
-  EFI_CAPSULE_BLOCK_DESCRIPTOR    *Desc;\r
-\r
-  Desc = (EFI_CAPSULE_BLOCK_DESCRIPTOR *)(UINTN)ScatterGatherList;\r
-  do {\r
-    WriteBackDataCacheRange (Desc, sizeof *Desc);\r
-\r
-    if (Desc->Length > 0) {\r
-      WriteBackDataCacheRange ((VOID *)(UINTN)Desc->Union.DataBlock,\r
-                               Desc->Length\r
-                               );\r
-      Desc++;\r
-    } else if (Desc->Union.ContinuationPointer > 0) {\r
-      Desc = (EFI_CAPSULE_BLOCK_DESCRIPTOR *)(UINTN)Desc->Union.ContinuationPointer;\r
-    }\r
-  } while (Desc->Length > 0 || Desc->Union.ContinuationPointer > 0);\r
-\r
-  WriteBackDataCacheRange (Desc, sizeof *Desc);\r
-}\r