From 836c350061600e6cde14b73417b9d073b00b0f69 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Wed, 2 May 2012 20:02:39 +0000 Subject: ArmPkg/ArmLib: Added new functions to access ARM coprocessors Signed-off-by: Olivier Martin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13253 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm | 35 ++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'ArmPkg/Library/ArmLib/Common/ArmLibSupport.asm') 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.
-// 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 -- cgit v1.2.3