]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
ArmPkg/ArmLib: Added new functions to access ARM coprocessors
[mirror_edk2.git] / ArmPkg / Library / ArmLib / Common / ArmLibSupport.asm
index 186ee33dfa3884ff4cef62b78eb673269a4db7e6..fd0f332bd65c3ce86ea7d1ff175bdc192ec28915 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------ \r
 //\r
 // Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-// Copyright (c) 2011, ARM Limited. All rights reserved.\r
+// Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
 //\r
 // This program and the accompanying materials\r
 // are licensed and made available under the terms and conditions of the BSD License\r
     EXPORT ArmSetDomainAccessControl\r
     EXPORT CPSRMaskInsert\r
     EXPORT CPSRRead\r
-    EXPORT ArmWriteCPACR\r
+    EXPORT ArmReadCpacr\r
+    EXPORT ArmWriteCpacr\r
     EXPORT ArmWriteAuxCr\r
     EXPORT ArmReadAuxCr\r
     EXPORT ArmInvalidateTlb\r
     EXPORT ArmUpdateTranslationTableEntry\r
+    EXPORT ArmReadNsacr\r
     EXPORT ArmWriteNsacr\r
+    EXPORT ArmReadScr\r
     EXPORT ArmWriteScr\r
-    EXPORT ArmWriteVMBar\r
+    EXPORT ArmReadMVBar\r
+    EXPORT ArmWriteMVBar\r
     EXPORT ArmCallWFE\r
     EXPORT ArmCallSEV\r
+    EXPORT ArmReadSctlr\r
 \r
     AREA ArmLibSupport, CODE, READONLY\r
 \r
@@ -88,7 +93,11 @@ CPSRRead
   mrs     r0, cpsr\r
   bx      lr\r
 \r
-ArmWriteCPACR\r
+ArmReadCpacr\r
+  mrc     p15, 0, r0, c1, c0, 2\r
+  bx      lr\r
+\r
+ArmWriteCpacr\r
   mcr     p15, 0, r0, c1, c0, 2\r
   isb\r
   bx      lr\r
@@ -136,15 +145,27 @@ ArmInvalidateTlb
   isb\r
   bx      lr\r
 \r
+ArmReadNsacr\r
+  mrc     p15, 0, r0, c1, c1, 2\r
+  bx      lr\r
+\r
 ArmWriteNsacr\r
   mcr     p15, 0, r0, c1, c1, 2\r
   bx      lr\r
 \r
+ArmReadScr\r
+  mrc     p15, 0, r0, c1, c1, 0\r
+  bx      lr\r
+\r
 ArmWriteScr\r
   mcr     p15, 0, r0, c1, c1, 0\r
   bx      lr\r
 \r
-ArmWriteVMBar\r
+ArmReadMVBar\r
+  mrc     p15, 0, r0, c12, c0, 1\r
+  bx      lr\r
+\r
+ArmWriteMVBar\r
   mcr     p15, 0, r0, c12, c0, 1\r
   bx      lr\r
   \r
@@ -156,4 +177,8 @@ ArmCallSEV
   sev\r
   blx   lr\r
 \r
+ArmReadSctlr\r
+  mrc     p15, 0, R0, c1, c0, 0      // Read SCTLR into R0 (Read control register configuration data)\r
+  bx     lr\r
+\r
   END\r