1 #------------------------------------------------------------------------------ 2 # 3 # Copyright (c) 2016, Linaro Limited. All rights reserved. 4 # 5 # This program and the accompanying materials 6 # are licensed and made available under the terms and conditions of the BSD License 7 # which accompanies this distribution. The full text of the license may be found at 8 # http://opensource.org/licenses/bsd-license.php 9 # 10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 # 13 #------------------------------------------------------------------------------ 14 15 #include <AsmMacroIoLib.h> 16 17 .text 18 .align 2 19 20 GCC_ASM_EXPORT (ArmReadIdMmfr0) 21 GCC_ASM_EXPORT (ArmHasMpExtensions) 22 23 #------------------------------------------------------------------------------ 24 25 ASM_PFX (ArmHasMpExtensions): 26 mrc p15,0,R0,c0,c0,5 27 // Get Multiprocessing extension (bit31) 28 lsr R0, R0, #31 29 bx LR 30 31 ASM_PFX(ArmReadIdMmfr0): 32 mrc p15, 0, r0, c0, c1, 4 @ Read ID_MMFR0 Register 33 bx lr 34 35 ASM_FUNCTION_REMOVE_IF_UNREFERENCED 36