GICv3 controller with no GICv2 legacy support must use the GIC Redistributor registers instead of the GIC Distributor registers for some operations (eg: enable/disable interrupts). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Tested-by: Ard Biesheuvel <ard@linaro.org> Reviewed-by: Ard Biesheuvel <ard@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16874 6f19259b-4bc3-4df7-8a09-765794883524
69 lines
1.3 KiB
C
69 lines
1.3 KiB
C
/** @file
|
|
*
|
|
* Copyright (c) 2014-2015, ARM Limited. All rights reserved.
|
|
*
|
|
* This program and the accompanying materials are licensed and made available
|
|
* under the terms and conditions of the BSD License which accompanies this
|
|
* distribution. The full text of the license may be found at
|
|
* http://opensource.org/licenses/bsd-license.php
|
|
*
|
|
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
*
|
|
**/
|
|
|
|
#ifndef _ARM_GIC_V3_H_
|
|
#define _ARM_GIC_V3_H_
|
|
|
|
#define ICC_SRE_EL2_SRE (1 << 0)
|
|
|
|
#define ARM_GICD_IROUTER_IRM BIT31
|
|
|
|
UINT32
|
|
EFIAPI
|
|
ArmGicV3GetControlSystemRegisterEnable (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV3SetControlSystemRegisterEnable (
|
|
IN UINT32 ControlSystemRegisterEnable
|
|
);
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV3EnableInterruptInterface (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV3DisableInterruptInterface (
|
|
VOID
|
|
);
|
|
|
|
UINTN
|
|
EFIAPI
|
|
ArmGicV3AcknowledgeInterrupt (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV3EndOfInterrupt (
|
|
IN UINTN Source
|
|
);
|
|
|
|
VOID
|
|
ArmGicV3SetBinaryPointer (
|
|
IN UINTN BinaryPoint
|
|
);
|
|
|
|
VOID
|
|
ArmGicV3SetPriorityMask (
|
|
IN UINTN Priority
|
|
);
|
|
|
|
#endif
|