3 Copyright (c) 2013-2014, ARM Ltd. All rights reserved.<BR>
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
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.
19 Driver implementing the GIC interrupt controller protocol
25 #include "ArmGicDxe.h"
28 Initialize the state information for the CPU Architectural Protocol
30 @param ImageHandle of the loaded driver
31 @param SystemTable Pointer to the System Table
33 @retval EFI_SUCCESS Protocol registered
34 @retval EFI_OUT_OF_RESOURCES Cannot allocate protocol data structure
35 @retval EFI_DEVICE_ERROR Hardware problems
36 @retval EFI_UNSUPPORTED GIC version not supported
40 InterruptDxeInitialize (
41 IN EFI_HANDLE ImageHandle
,
42 IN EFI_SYSTEM_TABLE
*SystemTable
46 ARM_GIC_ARCH_REVISION Revision
;
48 Revision
= ArmGicGetSupportedArchRevision ();
50 if (Revision
== ARM_GIC_ARCH_REVISION_2
) {
51 Status
= GicV2DxeInitialize (ImageHandle
, SystemTable
);
52 } else if (Revision
== ARM_GIC_ARCH_REVISION_3
) {
53 Status
= GicV3DxeInitialize (ImageHandle
, SystemTable
);
55 Status
= EFI_UNSUPPORTED
;