summaryrefslogtreecommitdiff
path: root/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 20:02:39 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 20:02:39 +0000
commit836c350061600e6cde14b73417b9d073b00b0f69 (patch)
tree2e2a46ab3837b1444dd1639aea9e0f08cc4e1986 /ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
parent7fffeef9bece37fe48341fcf47edb474f954e690 (diff)
downloadedk2-platforms-836c350061600e6cde14b73417b9d073b00b0f69.tar.xz
ArmPkg/ArmLib: Added new functions to access ARM coprocessors
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13253 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm')
-rw-r--r--ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm35
1 files changed, 30 insertions, 5 deletions
diff --git a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
index 186ee33dfa..fd0f332bd6 100644
--- a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
+++ b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-// Copyright (c) 2011, ARM Limited. All rights reserved.
+// 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
@@ -32,16 +32,21 @@
EXPORT ArmSetDomainAccessControl
EXPORT CPSRMaskInsert
EXPORT CPSRRead
- EXPORT ArmWriteCPACR
+ EXPORT ArmReadCpacr
+ EXPORT ArmWriteCpacr
EXPORT ArmWriteAuxCr
EXPORT ArmReadAuxCr
EXPORT ArmInvalidateTlb
EXPORT ArmUpdateTranslationTableEntry
+ EXPORT ArmReadNsacr
EXPORT ArmWriteNsacr
+ EXPORT ArmReadScr
EXPORT ArmWriteScr
- EXPORT ArmWriteVMBar
+ EXPORT ArmReadMVBar
+ EXPORT ArmWriteMVBar
EXPORT ArmCallWFE
EXPORT ArmCallSEV
+ EXPORT ArmReadSctlr
AREA ArmLibSupport, CODE, READONLY
@@ -88,7 +93,11 @@ CPSRRead
mrs r0, cpsr
bx lr
-ArmWriteCPACR
+ArmReadCpacr
+ mrc p15, 0, r0, c1, c0, 2
+ bx lr
+
+ArmWriteCpacr
mcr p15, 0, r0, c1, c0, 2
isb
bx lr
@@ -136,15 +145,27 @@ ArmInvalidateTlb
isb
bx lr
+ArmReadNsacr
+ mrc p15, 0, r0, c1, c1, 2
+ bx lr
+
ArmWriteNsacr
mcr p15, 0, r0, c1, c1, 2
bx lr
+ArmReadScr
+ mrc p15, 0, r0, c1, c1, 0
+ bx lr
+
ArmWriteScr
mcr p15, 0, r0, c1, c1, 0
bx lr
-ArmWriteVMBar
+ArmReadMVBar
+ mrc p15, 0, r0, c12, c0, 1
+ bx lr
+
+ArmWriteMVBar
mcr p15, 0, r0, c12, c0, 1
bx lr
@@ -156,4 +177,8 @@ ArmCallSEV
sev
blx lr
+ArmReadSctlr
+ mrc p15, 0, R0, c1, c0, 0 // Read SCTLR into R0 (Read control register configuration data)
+ bx lr
+
END