1 #------------------------------------------------------------------------------
3 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 # Copyright (c) 2011-2013, ARM Limited. All rights reserved.
5 # Copyright (c) 2016, Linaro Limited. All rights reserved.
7 # SPDX-License-Identifier: BSD-2-Clause-Patent
9 #------------------------------------------------------------------------------
11 #include <AsmMacroIoLib.h>
15 // Get Multiprocessing extension (bit31) & U bit (bit30)
16 and R0, R0, #0xC0000000
17 // if (bit31 == 1) && (bit30 == 0) then the processor is part of a multiprocessor system
23 ASM_FUNC(ArmEnableAsynchronousAbort)
28 ASM_FUNC(ArmDisableAsynchronousAbort)
33 ASM_FUNC(ArmEnableIrq)
38 ASM_FUNC(ArmDisableIrq)
43 ASM_FUNC(ArmEnableFiq)
48 ASM_FUNC(ArmDisableFiq)
53 ASM_FUNC(ArmEnableInterrupts)
58 ASM_FUNC(ArmDisableInterrupts)
63 ASM_FUNC(ArmReadIdMmfr4)
64 mrc p15,0,r0,c0,c2,6 @ Read ID_MMFR4 Register
72 mcr p15,2,r0,c0,c0,0 @ Write Cache Size Selection Register (CSSELR)
74 mrc p15,1,r0,c0,c0,0 @ Read current CP15 Cache Size ID Register (CCSIDR)
82 mcr p15,2,r0,c0,c0,0 @ Write Cache Size Selection Register (CSSELR)
84 mrc p15,1,r0,c0,c0,2 @ Read current CP15 Cache Size ID Register (CCSIDR2)
92 mrc p15,1,r0,c0,c0,1 @ Read CP15 Cache Level ID Register
95 ASM_FUNC(ArmReadNsacr)
96 mrc p15, 0, r0, c1, c1, 2
99 ASM_FUNC(ArmWriteNsacr)
100 mcr p15, 0, r0, c1, c1, 2
103 ASM_FUNCTION_REMOVE_IF_UNREFERENCED