]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c
ArmPkg/BdsLib/Arm: Clean Data cache before disabling it
[mirror_edk2.git] / ArmPkg / Library / BdsLib / Arm / BdsLinuxLoader.c
index d85547b589807f04645a7829eca26cb439cfebb1..3d512486da415f5d2d19edb6cbb00e94a48e6a14 100644 (file)
@@ -25,9 +25,11 @@ PreparePlatformHardware (
 {\r
   //Note: Interrupts will be disabled by the GIC driver when ExitBootServices() will be called.\r
 \r
-  // Clean, invalidate, disable data cache\r
-  ArmDisableDataCache();\r
-  ArmCleanInvalidateDataCache();\r
+  // Clean before Disable else the Stack gets corrupted with old data.\r
+  ArmCleanDataCache ();\r
+  ArmDisableDataCache ();\r
+  // Invalidate all the entries that might have snuck in.\r
+  ArmInvalidateDataCache ();\r
 \r
   // Invalidate and disable the Instruction cache\r
   ArmDisableInstructionCache ();\r