Revision: 14704
          http://sourceforge.net/p/edk2/code/14704
Author:   oliviermartin
Date:     2013-09-23 09:42:05 +0000 (Mon, 23 Sep 2013)
Log Message:
-----------
ArmPkg/ArmLib: Revert change 'Fixed field shifting in CLIDR_EL1 (AArch64)'

The shift by 1 on the left was expected. It eases the access to CSSELR and 
set/way operations
where the cache level field is at the BIT1 position.

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

Modified Paths:
--------------
    trunk/edk2/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S

Modified: trunk/edk2/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S   2013-09-23 
09:41:19 UTC (rev 14703)
+++ trunk/edk2/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S   2013-09-23 
09:42:05 UTC (rev 14704)
@@ -320,7 +320,8 @@
   mov   x1, x0                  // Save Function call in x1
   mrs   x6, clidr_el1           // Read EL1 CLIDR
   and   x3, x6, #0x7000000      // Mask out all but Level of Coherency (LoC)
-  lsr   x3, x3, #24             // Left align cache level value
+  lsr   x3, x3, #23             // Left align cache level value - the level is 
shifted by 1 to the
+                                // right to ease the access to CSSELR and the 
Set/Way operation.
   cbz   x3, L_Finished          // No need to clean if LoC is 0
   mov   x10, #0                 // Start clean at cache level 0
   b     Loop1
@@ -332,7 +333,8 @@
   mov   x1, x0                  // Save Function call in x1
   mrs   x6, clidr_el1           // Read EL1 CLIDR
   and   x3, x6, #0x38000000     // Mask out all but Point of Unification (PoU)
-  lsr   x3, x3, #27             // Left align cache level value
+  lsr   x3, x3, #26             // Left align cache level value - the level is 
shifted by 1 to the
+                                // right to ease the access to CSSELR and the 
Set/Way operation.
   cbz   x3, L_Finished          // No need to clean if LoC is 0
   mov   x10, #0                 // Start clean at cache level 0
 

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


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to