3 Copyright (c) 2013-2017, ARM Ltd. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #ifndef __ARM_GIC_DXE_H__
10 #define __ARM_GIC_DXE_H__
12 #include <Library/ArmGicLib.h>
13 #include <Library/ArmLib.h>
14 #include <Library/DebugLib.h>
15 #include <Library/IoLib.h>
16 #include <Library/MemoryAllocationLib.h>
17 #include <Library/UefiBootServicesTableLib.h>
18 #include <Library/UefiLib.h>
20 #include <Protocol/Cpu.h>
21 #include <Protocol/HardwareInterrupt.h>
22 #include <Protocol/HardwareInterrupt2.h>
24 extern UINTN mGicNumInterrupts
;
25 extern HARDWARE_INTERRUPT_HANDLER
*gRegisteredInterruptHandlers
;
29 InstallAndRegisterInterruptService (
30 IN EFI_HARDWARE_INTERRUPT_PROTOCOL
*InterruptProtocol
,
31 IN EFI_HARDWARE_INTERRUPT2_PROTOCOL
*Interrupt2Protocol
,
32 IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler
,
33 IN EFI_EVENT_NOTIFY ExitBootServicesEvent
38 RegisterInterruptSource (
39 IN EFI_HARDWARE_INTERRUPT_PROTOCOL
*This
,
40 IN HARDWARE_INTERRUPT_SOURCE Source
,
41 IN HARDWARE_INTERRUPT_HANDLER Handler
47 IN EFI_HANDLE ImageHandle
,
48 IN EFI_SYSTEM_TABLE
*SystemTable
54 IN EFI_HANDLE ImageHandle
,
55 IN EFI_SYSTEM_TABLE
*SystemTable
62 Calculate GICD_ICFGRn base address and corresponding bit
63 field Int_config[1] of the GIC distributor register.
65 @param Source Hardware source of the interrupt.
66 @param RegAddress Corresponding GICD_ICFGRn base address.
67 @param Config1Bit Bit number of F Int_config[1] bit in the register.
69 @retval EFI_SUCCESS Source interrupt supported.
70 @retval EFI_UNSUPPORTED Source interrupt is not supported.
73 GicGetDistributorIcfgBaseAndBit (
74 IN HARDWARE_INTERRUPT_SOURCE Source
,
75 OUT UINTN
*RegAddress
,