From bd6b97994ab6219c74033a7e68a503dbb8d56f9f Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Tue, 27 Sep 2011 16:31:20 +0000 Subject: ArmPkg/ArmLib: Clean ArmV7Lib - Move the non specific ArmV7 functions to ArmLib. - Clean the ARM Platform common components to not depend on ArmV7 if not required git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12453 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Include/Library/ArmLib.h | 85 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) (limited to 'ArmPkg/Include/Library') diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h index 89d915a8df..e88633e1e9 100644 --- a/ArmPkg/Include/Library/ArmLib.h +++ b/ArmPkg/Include/Library/ArmLib.h @@ -15,6 +15,12 @@ #ifndef __ARM_LIB__ #define __ARM_LIB__ +#ifdef ARM_CPU_ARMv6 +#include +#else +#include +#endif + typedef enum { ARM_CACHE_TYPE_WRITE_BACK, ARM_CACHE_TYPE_UNKNOWN @@ -250,6 +256,12 @@ ArmDisableCachesAndMmu ( VOID ); +VOID +EFIAPI +ArmInvalidateInstructionAndDataTlb ( + VOID + ); + VOID EFIAPI ArmEnableInterrupts ( @@ -384,6 +396,77 @@ EFIAPI ArmInstructionSynchronizationBarrier ( VOID ); - + +VOID +EFIAPI +ArmWriteVBar ( + IN UINT32 VectorBase + ); + +UINT32 +EFIAPI +ArmReadVBar ( + VOID + ); + +VOID +EFIAPI +ArmWriteAuxCr ( + IN UINT32 Bit + ); + +UINT32 +EFIAPI +ArmReadAuxCr ( + VOID + ); + +VOID +EFIAPI +ArmSetAuxCrBit ( + IN UINT32 Bits + ); + +VOID +EFIAPI +ArmCallWFI ( + VOID + ); + +UINTN +EFIAPI +ArmReadMpidr ( + VOID + ); + +VOID +EFIAPI +ArmWriteCPACR ( + IN UINT32 Access + ); + +VOID +EFIAPI +ArmEnableVFP ( + VOID + ); + +VOID +EFIAPI +ArmWriteNsacr ( + IN UINT32 SetWayFormat + ); + +VOID +EFIAPI +ArmWriteScr ( + IN UINT32 SetWayFormat + ); + +VOID +EFIAPI +ArmWriteVMBar ( + IN UINT32 VectorMonitorBase + ); #endif // __ARM_LIB__ -- cgit v1.2.3