summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c b/ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c
index d85547b58..3d512486d 100644
--- a/ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c
+++ b/ArmPkg/Library/BdsLib/Arm/BdsLinuxLoader.c
@@ -25,9 +25,11 @@ PreparePlatformHardware (
{
//Note: Interrupts will be disabled by the GIC driver when ExitBootServices() will be called.
- // Clean, invalidate, disable data cache
- ArmDisableDataCache();
- ArmCleanInvalidateDataCache();
+ // Clean before Disable else the Stack gets corrupted with old data.
+ ArmCleanDataCache ();
+ ArmDisableDataCache ();
+ // Invalidate all the entries that might have snuck in.
+ ArmInvalidateDataCache ();
// Invalidate and disable the Instruction cache
ArmDisableInstructionCache ();