Revision: 18895
http://sourceforge.net/p/edk2/code/18895
Author: abiesheuvel
Date: 2015-11-18 15:58:46 +0000 (Wed, 18 Nov 2015)
Log Message:
-----------
ArmPkg/ArmV7Lib: add function to test for presence of MP extensions
Some MMU manipulation is dependent on the presence of the multiprocessing
extensions. So add a function that returns this information.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>
Modified Paths:
--------------
trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.S
trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm
trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.S
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.S 2015-11-18
15:58:26 UTC (rev 18894)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.S 2015-11-18
15:58:46 UTC (rev 18895)
@@ -19,6 +19,7 @@
.align 2
GCC_ASM_EXPORT(ArmIsMpCore)
+GCC_ASM_EXPORT(ArmHasMpExtensions)
GCC_ASM_EXPORT(ArmEnableAsynchronousAbort)
GCC_ASM_EXPORT(ArmDisableAsynchronousAbort)
GCC_ASM_EXPORT(ArmEnableIrq)
@@ -44,6 +45,12 @@
movne R0, #0
bx LR
+ASM_PFX(ArmHasMpExtensions):
+ mrc p15,0,R0,c0,c0,5
+ // Get Multiprocessing extension (bit31)
+ lsr R0, R0, #31
+ bx LR
+
ASM_PFX(ArmEnableAsynchronousAbort):
cpsie a
isb
Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm 2015-11-18
15:58:26 UTC (rev 18894)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm 2015-11-18
15:58:46 UTC (rev 18895)
@@ -15,6 +15,7 @@
EXPORT ArmIsMpCore
+ EXPORT ArmHasMpExtensions
EXPORT ArmEnableAsynchronousAbort
EXPORT ArmDisableAsynchronousAbort
EXPORT ArmEnableIrq
@@ -43,6 +44,12 @@
movne R0, #0
bx LR
+ArmHasMpExtensions
+ mrc p15,0,R0,c0,c0,5
+ // Get Multiprocessing extension (bit31)
+ lsr R0, R0, #31
+ bx LR
+
ArmEnableAsynchronousAbort
cpsie a
isb
Modified: trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h 2015-11-18 15:58:26 UTC
(rev 18894)
+++ trunk/edk2/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h 2015-11-18 15:58:46 UTC
(rev 18895)
@@ -28,5 +28,11 @@
VOID
);
+BOOLEAN
+EFIAPI
+ArmHasMpExtensions (
+ VOID
+ );
+
#endif // __ARM_V7_LIB_H__
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits