mirror of https://github.com/acidanthera/audk.git
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 <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18895 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
63dbd62964
commit
2ea66ed9f9
|
@ -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 @@ ASM_PFX(ArmIsMpCore):
|
|||
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
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
|
||||
EXPORT ArmIsMpCore
|
||||
EXPORT ArmHasMpExtensions
|
||||
EXPORT ArmEnableAsynchronousAbort
|
||||
EXPORT ArmDisableAsynchronousAbort
|
||||
EXPORT ArmEnableIrq
|
||||
|
@ -43,6 +44,12 @@ ArmIsMpCore
|
|||
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
|
||||
|
|
|
@ -28,5 +28,11 @@ ArmReadIdMmfr0 (
|
|||
VOID
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
ArmHasMpExtensions (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif // __ARM_V7_LIB_H__
|
||||
|
||||
|
|
Loading…
Reference in New Issue