TianoCore EDK2 master
Loading...
Searching...
No Matches
ArmGicDxe.h
1/*++
2
3Copyright (c) 2013-2017, ARM Ltd. All rights reserved.<BR>
4
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7--*/
8
9#ifndef ARM_GIC_DXE_H_
10#define ARM_GIC_DXE_H_
11
12#include <Library/ArmGicLib.h>
13#include <Library/ArmLib.h>
14#include <Library/DebugLib.h>
15#include <Library/IoLib.h>
18#include <Library/UefiLib.h>
19
20#include <Protocol/Cpu.h>
23
24extern UINTN mGicNumInterrupts;
25extern HARDWARE_INTERRUPT_HANDLER *gRegisteredInterruptHandlers;
26
27// Common API
29InstallAndRegisterInterruptService (
30 IN EFI_HARDWARE_INTERRUPT_PROTOCOL *InterruptProtocol,
31 IN EFI_HARDWARE_INTERRUPT2_PROTOCOL *Interrupt2Protocol,
32 IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler,
34 );
35
37EFIAPI
38RegisterInterruptSource (
40 IN HARDWARE_INTERRUPT_SOURCE Source,
42 );
43
44// GicV2 API
46GicV2DxeInitialize (
47 IN EFI_HANDLE ImageHandle,
48 IN EFI_SYSTEM_TABLE *SystemTable
49 );
50
51// GicV3 API
53GicV3DxeInitialize (
54 IN EFI_HANDLE ImageHandle,
55 IN EFI_SYSTEM_TABLE *SystemTable
56 );
57
58// Shared code
59
72GicGetDistributorIcfgBaseAndBit (
73 IN HARDWARE_INTERRUPT_SOURCE Source,
74 OUT UINTN *RegAddress,
75 OUT UINTN *Config1Bit
76 );
77
78#endif // ARM_GIC_DXE_H_
UINT64 UINTN
VOID(EFIAPI * EFI_CPU_INTERRUPT_HANDLER)(IN CONST EFI_EXCEPTION_TYPE InterruptType, IN CONST EFI_SYSTEM_CONTEXT SystemContext)
Definition: Cpu.h:52
VOID(EFIAPI * HARDWARE_INTERRUPT_HANDLER)(IN HARDWARE_INTERRUPT_SOURCE Source, IN EFI_SYSTEM_CONTEXT SystemContext)
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
VOID EFIAPI ExitBootServicesEvent(IN EFI_EVENT Event, IN VOID *Context)
Definition: TimerDxe.c:92
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Definition: UefiSpec.h:463