Revision: 18894
          http://sourceforge.net/p/edk2/code/18894
Author:   abiesheuvel
Date:     2015-11-18 15:58:26 +0000 (Wed, 18 Nov 2015)
Log Message:
-----------
ArmPkg/ArmV7Lib: add support for reading the ID_MMFR0 system register

Implement an accessor function for the ID_MMFR0 system register, which
contains information about the VMSA implementation. We will need this
to access the number of shareability levels and the nature of their
implementations.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
    trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S
    trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm

Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h   2015-11-18 15:58:03 UTC 
(rev 18893)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h   2015-11-18 15:58:26 UTC 
(rev 18894)
@@ -22,5 +22,11 @@
   IN  ARM_V7_CACHE_OPERATION  DataCacheOperation
   );
 
+UINTN
+EFIAPI
+ArmReadIdMmfr0 (
+  VOID
+  );
+
 #endif // __ARM_V7_LIB_H__
 

Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S       2015-11-18 
15:58:03 UTC (rev 18893)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S       2015-11-18 
15:58:26 UTC (rev 18894)
@@ -51,6 +51,7 @@
 GCC_ASM_EXPORT (ArmWriteTpidrurw)
 GCC_ASM_EXPORT (ArmIsArchTimerImplemented)
 GCC_ASM_EXPORT (ArmReadIdPfr1)
+GCC_ASM_EXPORT (ArmReadIdMmfr0)
 
 .set DC_ON, (0x1<<2)
 .set IC_ON, (0x1<<12)
@@ -326,4 +327,8 @@
   mrc    p15, 0, r0, c0, c1, 1     @ Read ID_PFR1 Register
   bx     lr
 
+ASM_PFX(ArmReadIdMmfr0):
+  mrc    p15, 0, r0, c0, c1, 4     @ Read ID_MMFR0 Register
+  bx     lr
+
 ASM_FUNCTION_REMOVE_IF_UNREFERENCED

Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm     2015-11-18 
15:58:03 UTC (rev 18893)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm     2015-11-18 
15:58:26 UTC (rev 18894)
@@ -48,6 +48,7 @@
     EXPORT  ArmWriteTpidrurw
     EXPORT  ArmIsArchTimerImplemented
     EXPORT  ArmReadIdPfr1
+    EXPORT  ArmReadIdMmfr0
 
     AREA    ArmV7Support, CODE, READONLY
     PRESERVE8
@@ -320,4 +321,8 @@
   mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1 Register
   bx     lr
 
+ArmReadIdMmfr0
+  mrc    p15, 0, r0, c0, c1, 4     ; Read ID_MMFR0 Register
+  bx     lr
+
  END


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to