]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Drivers/ArmGic/ArmGicDxe.h
af33aa90b00c6775e10a831d63ed707394862362
[mirror_edk2.git] / ArmPkg / Drivers / ArmGic / ArmGicDxe.h
1 /*++
2
3 Copyright (c) 2013-2014, ARM Ltd. All rights reserved.<BR>
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 #ifndef __ARM_GIC_DXE_H__
16 #define __ARM_GIC_DXE_H__
17
18 #include <Library/ArmGicLib.h>
19 #include <Library/ArmLib.h>
20 #include <Library/DebugLib.h>
21 #include <Library/IoLib.h>
22 #include <Library/MemoryAllocationLib.h>
23 #include <Library/UefiBootServicesTableLib.h>
24
25 #include <Protocol/Cpu.h>
26 #include <Protocol/HardwareInterrupt.h>
27
28 extern UINTN mGicNumInterrupts;
29 extern HARDWARE_INTERRUPT_HANDLER *gRegisteredInterruptHandlers;
30
31 //
32 // Common API
33 //
34 EFI_STATUS
35 InstallAndRegisterInterruptService (
36 IN EFI_HARDWARE_INTERRUPT_PROTOCOL *InterruptProtocol,
37 IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler,
38 IN EFI_EVENT_NOTIFY ExitBootServicesEvent
39 );
40
41 EFI_STATUS
42 EFIAPI
43 RegisterInterruptSource (
44 IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,
45 IN HARDWARE_INTERRUPT_SOURCE Source,
46 IN HARDWARE_INTERRUPT_HANDLER Handler
47 );
48
49 //
50 // GicV2 API
51 //
52 EFI_STATUS
53 GicV2DxeInitialize (
54 IN EFI_HANDLE ImageHandle,
55 IN EFI_SYSTEM_TABLE *SystemTable
56 );
57
58 //
59 // GicV3 API
60 //
61 EFI_STATUS
62 GicV3DxeInitialize (
63 IN EFI_HANDLE ImageHandle,
64 IN EFI_SYSTEM_TABLE *SystemTable
65 );
66
67 #endif