diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-07-04 20:24:25 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-07-04 20:24:25 +0000 |
commit | ed71a22c185ad4b5311812854ee614ad7974ef31 (patch) | |
tree | 5a1af695e4e2548e3025aa942bd16accd85a6e3c /ArmPkg/Library/BdsLib | |
parent | ce88684e2af0103e7ffaea58a26b3fae16f70367 (diff) | |
download | edk2-platforms-ed71a22c185ad4b5311812854ee614ad7974ef31.tar.xz |
ArmPkg/BdsLib: Fixed cache cleaning in PreparePlatformHardware()
Because the D&I caches were clean before to be disabled, the cache
lines might have got dirty during the cache maintenance operations.
This fix disables D&I caches before to clean them. The performance
drops should be minimised as invalidating the I cache is only a
couple of instruction.
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13503 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/BdsLib')
-rw-r--r-- | ArmPkg/Library/BdsLib/BdsLinuxLoader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ArmPkg/Library/BdsLib/BdsLinuxLoader.c b/ArmPkg/Library/BdsLib/BdsLinuxLoader.c index 6cd49a2fca..5ef3c1cb8d 100644 --- a/ArmPkg/Library/BdsLib/BdsLinuxLoader.c +++ b/ArmPkg/Library/BdsLib/BdsLinuxLoader.c @@ -25,12 +25,12 @@ PreparePlatformHardware ( //Note: Interrupts will be disabled by the GIC driver when ExitBootServices() will be called. // Clean, invalidate, disable data cache - ArmCleanInvalidateDataCache(); ArmDisableDataCache(); + ArmCleanInvalidateDataCache(); // Invalidate and disable the Instruction cache - ArmInvalidateInstructionCache (); ArmDisableInstructionCache (); + ArmInvalidateInstructionCache (); // Turn off MMU ArmDisableMmu(); |