From ed71a22c185ad4b5311812854ee614ad7974ef31 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Wed, 4 Jul 2012 20:24:25 +0000 Subject: 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 Reviewed-by: Olivier Martin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13503 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Library/BdsLib/BdsLinuxLoader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ArmPkg/Library') 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(); -- cgit v1.2.3