]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/ArmV7Lib: add support for reading the ID_MMFR0 system register
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 18 Nov 2015 15:58:26 +0000 (15:58 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Wed, 18 Nov 2015 15:58:26 +0000 (15:58 +0000)
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 <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18894 6f19259b-4bc3-4df7-8a09-765794883524

ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm

index 50fba38240247566e28e4b7240114dd9abc29cfe..df770cf7d798bce906d348dd222915bd04fae627 100644 (file)
@@ -22,5 +22,11 @@ ArmV7AllDataCachesOperation (
   IN  ARM_V7_CACHE_OPERATION  DataCacheOperation\r
   );\r
 \r
+UINTN\r
+EFIAPI\r
+ArmReadIdMmfr0 (\r
+  VOID\r
+  );\r
+\r
 #endif // __ARM_V7_LIB_H__\r
 \r
index 93164b8f0ea4370dd8458f18f7b1343caa5766d7..7366eee6dc4ff96d26bcd70240112fe3b0902ea2 100644 (file)
@@ -51,6 +51,7 @@ GCC_ASM_EXPORT (ArmReadTpidrurw)
 GCC_ASM_EXPORT (ArmWriteTpidrurw)\r
 GCC_ASM_EXPORT (ArmIsArchTimerImplemented)\r
 GCC_ASM_EXPORT (ArmReadIdPfr1)\r
+GCC_ASM_EXPORT (ArmReadIdMmfr0)\r
 \r
 .set DC_ON, (0x1<<2)\r
 .set IC_ON, (0x1<<12)\r
@@ -326,4 +327,8 @@ ASM_PFX(ArmReadIdPfr1):
   mrc    p15, 0, r0, c0, c1, 1     @ Read ID_PFR1 Register\r
   bx     lr\r
 \r
+ASM_PFX(ArmReadIdMmfr0):\r
+  mrc    p15, 0, r0, c0, c1, 4     @ Read ID_MMFR0 Register\r
+  bx     lr\r
+\r
 ASM_FUNCTION_REMOVE_IF_UNREFERENCED\r
index d6f249038a053314079d1ab8f37b78f1a5a9cde3..78a12e1629b476918ad82400517707a4f5563dfb 100644 (file)
@@ -48,6 +48,7 @@
     EXPORT  ArmWriteTpidrurw\r
     EXPORT  ArmIsArchTimerImplemented\r
     EXPORT  ArmReadIdPfr1\r
+    EXPORT  ArmReadIdMmfr0\r
 \r
     AREA    ArmV7Support, CODE, READONLY\r
     PRESERVE8\r
@@ -320,4 +321,8 @@ ArmReadIdPfr1
   mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1 Register\r
   bx     lr\r
 \r
+ArmReadIdMmfr0\r
+  mrc    p15, 0, r0, c0, c1, 4     ; Read ID_MMFR0 Register\r
+  bx     lr\r
+\r
  END\r