Revision: 14527
          http://sourceforge.net/p/edk2/code/14527
Author:   oliviermartin
Date:     2013-08-06 17:41:53 +0000 (Tue, 06 Aug 2013)
Log Message:
-----------
ArmPlatformPkg: PrePei Cache disable and invalidate.

- Disable data cache on all cores.
- Do not clean caches as there might be junk in them, invalidate only.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmPlatformPkg/PrePeiCore/PrePeiCore.c
    trunk/edk2/ArmPlatformPkg/PrePi/PrePi.c

Modified: trunk/edk2/ArmPlatformPkg/PrePeiCore/PrePeiCore.c
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePeiCore/PrePeiCore.c   2013-08-06 12:11:13 UTC 
(rev 14526)
+++ trunk/edk2/ArmPlatformPkg/PrePeiCore/PrePeiCore.c   2013-08-06 17:41:53 UTC 
(rev 14527)
@@ -1,16 +1,16 @@
 /** @file
 *  Main file supporting the transition to PEI Core in Normal World for 
Versatile Express
 *
-*  Copyright (c) 2011-2012, ARM Limited. All rights reserved.
-*  
-*  This program and the accompanying materials                          
-*  are licensed and made available under the terms and conditions of the BSD 
License         
-*  which accompanies this distribution.  The full text of the license may be 
found at        
-*  http://opensource.org/licenses/bsd-license.php                              
              
+*  Copyright (c) 2011-2013, ARM Limited. All rights reserved.
 *
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,       
              
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.             
+*  This program and the accompanying materials
+*  are licensed and made available under the terms and conditions of the BSD 
License
+*  which accompanies this distribution.  The full text of the license may be 
found at
+*  http://opensource.org/licenses/bsd-license.php
 *
+*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+*
 **/
 
 #include <Library/BaseLib.h>
@@ -71,14 +71,13 @@
   IN  EFI_PEI_CORE_ENTRY_POINT  PeiCoreEntryPoint
   )
 {
-  //Clean Data cache
-  ArmCleanInvalidateDataCache ();
-
-  //Invalidate instruction cache
+  // Data Cache enabled on Primary core when MMU is enabled.
+  ArmDisableDataCache ();
+  // Invalidate Data cache
+  ArmInvalidateDataCache ();
+  // Invalidate instruction cache
   ArmInvalidateInstructionCache ();
-
-  // Enable Instruction & Data caches
-  ArmEnableDataCache ();
+  // Enable Instruction Caches on all cores.
   ArmEnableInstructionCache ();
 
   //

Modified: trunk/edk2/ArmPlatformPkg/PrePi/PrePi.c
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePi/PrePi.c     2013-08-06 12:11:13 UTC (rev 
14526)
+++ trunk/edk2/ArmPlatformPkg/PrePi/PrePi.c     2013-08-06 17:41:53 UTC (rev 
14527)
@@ -1,6 +1,6 @@
 /** @file
 *
-*  Copyright (c) 2011-2012, ARM Limited. All rights reserved.
+*  Copyright (c) 2011-2013, ARM Limited. All rights reserved.
 *
 *  This program and the accompanying materials
 *  are licensed and made available under the terms and conditions of the BSD 
License
@@ -222,16 +222,13 @@
     StartTimeStamp = 0;
   }
 
-  // Clean Data cache
-  ArmCleanInvalidateDataCache ();
-
+  // Data Cache enabled on Primary core when MMU is enabled.
+  ArmDisableDataCache ();
+  // Invalidate Data cache
+  ArmInvalidateDataCache ();
   // Invalidate instruction cache
   ArmInvalidateInstructionCache ();
-
-  //TODO:Drain Write Buffer
-
-  // Enable Instruction & Data caches
-  ArmEnableDataCache ();
+  // Enable Instruction Caches on all cores.
   ArmEnableInstructionCache ();
 
   // Define the Global Variable region when we are not running in XIP

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to