2 // Copyright (c) 2014, ARM Limited. All rights reserved.
4 // SPDX-License-Identifier: BSD-2-Clause-Patent
8 // For the moment we assume this will run in SVC mode on ARMv7
11 INCLUDE AsmMacroExport.inc
15 //ArmGicGetControlSystemRegisterEnable (
18 RVCT_ASM_EXPORT ArmGicV3GetControlSystemRegisterEnable
19 mrc p15, 0, r0, c12, c12, 5 // ICC_SRE
24 //ArmGicSetControlSystemRegisterEnable (
25 // IN UINT32 ControlSystemRegisterEnable
27 RVCT_ASM_EXPORT ArmGicV3SetControlSystemRegisterEnable
28 mcr p15, 0, r0, c12, c12, 5 // ICC_SRE
33 //ArmGicV3EnableInterruptInterface (
36 RVCT_ASM_EXPORT ArmGicV3EnableInterruptInterface
38 mcr p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1
42 //ArmGicV3DisableInterruptInterface (
45 RVCT_ASM_EXPORT ArmGicV3DisableInterruptInterface
47 mcr p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1
51 //ArmGicV3EndOfInterrupt (
52 // IN UINTN InterruptId
54 RVCT_ASM_EXPORT ArmGicV3EndOfInterrupt
55 mcr p15, 0, r0, c12, c12, 1 //ICC_EOIR1
59 //ArmGicV3AcknowledgeInterrupt (
62 RVCT_ASM_EXPORT ArmGicV3AcknowledgeInterrupt
63 mrc p15, 0, r0, c12, c12, 0 //ICC_IAR1
67 //ArmGicV3SetPriorityMask (
70 RVCT_ASM_EXPORT ArmGicV3SetPriorityMask
71 mcr p15, 0, r0, c4, c6, 0 //ICC_PMR
75 //ArmGicV3SetBinaryPointer (
76 // IN UINTN BinaryPoint
78 RVCT_ASM_EXPORT ArmGicV3SetBinaryPointer
79 mcr p15, 0, r0, c12, c12, 3 //ICC_BPR1