ArmPkg: merge ArmGicV[23]Lib.h into ArmGicLib.h
Before splitting off ArmGicArchLib and moving it out of ArmPkg/Drivers/ArmGic into ArmPkg/Library, make sure that the GIC specific declarations it depends on are not hidden away in local headers "GicV2/GicV2Lib.h" and "GicV3/GicV3Lib.h". So merge them with <Library/ArmGicLib.h>. This is entirely appropriate, since this is not a header that declares a public interface into ArmGicLib, but defines implementation internals. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Tested-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18097 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
983fffd431
commit
bce29e3059
|
@ -15,8 +15,6 @@
|
||||||
#include <Library/ArmLib.h>
|
#include <Library/ArmLib.h>
|
||||||
#include <Library/ArmGicLib.h>
|
#include <Library/ArmGicLib.h>
|
||||||
|
|
||||||
#include "GicV3/ArmGicV3Lib.h"
|
|
||||||
|
|
||||||
ARM_GIC_ARCH_REVISION
|
ARM_GIC_ARCH_REVISION
|
||||||
EFIAPI
|
EFIAPI
|
||||||
ArmGicGetSupportedArchRevision (
|
ArmGicGetSupportedArchRevision (
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
#include <Library/ArmLib.h>
|
#include <Library/ArmLib.h>
|
||||||
#include <Library/ArmGicLib.h>
|
#include <Library/ArmGicLib.h>
|
||||||
|
|
||||||
#include "GicV3/ArmGicV3Lib.h"
|
|
||||||
|
|
||||||
ARM_GIC_ARCH_REVISION
|
ARM_GIC_ARCH_REVISION
|
||||||
EFIAPI
|
EFIAPI
|
||||||
ArmGicGetSupportedArchRevision (
|
ArmGicGetSupportedArchRevision (
|
||||||
|
|
|
@ -19,9 +19,6 @@
|
||||||
#include <Library/IoLib.h>
|
#include <Library/IoLib.h>
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
#include "GicV2/ArmGicV2Lib.h"
|
|
||||||
#include "GicV3/ArmGicV3Lib.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the base address of the GIC redistributor for the current CPU
|
* Return the base address of the GIC redistributor for the current CPU
|
||||||
*
|
*
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
#include <Library/IoLib.h>
|
#include <Library/IoLib.h>
|
||||||
#include <Library/ArmGicLib.h>
|
#include <Library/ArmGicLib.h>
|
||||||
|
|
||||||
#include "GicV2/ArmGicV2Lib.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function configures the interrupts set by the mask to be secure.
|
* This function configures the interrupts set by the mask to be secure.
|
||||||
*
|
*
|
||||||
|
|
|
@ -22,8 +22,9 @@ Abstract:
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
|
|
||||||
|
#include <Library/ArmGicLib.h>
|
||||||
|
|
||||||
#include "ArmGicDxe.h"
|
#include "ArmGicDxe.h"
|
||||||
#include "GicV2/ArmGicV2Lib.h"
|
|
||||||
|
|
||||||
#define ARM_GIC_DEFAULT_PRIORITY 0x80
|
#define ARM_GIC_DEFAULT_PRIORITY 0x80
|
||||||
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
/** @file
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013-2014, 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_V2_H_
|
|
||||||
#define _ARM_GIC_V2_H_
|
|
||||||
|
|
||||||
// Interrupts from 1020 to 1023 are considered as special interrupts (eg: spurious interrupts)
|
|
||||||
#define ARM_GIC_IS_SPECIAL_INTERRUPTS(Interrupt) (((Interrupt) >= 1020) && ((Interrupt) <= 1023))
|
|
||||||
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
ArmGicV2SetupNonSecure (
|
|
||||||
IN UINTN MpId,
|
|
||||||
IN INTN GicDistributorBase,
|
|
||||||
IN INTN GicInterruptInterfaceBase
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
ArmGicV2EnableInterruptInterface (
|
|
||||||
IN INTN GicInterruptInterfaceBase
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
ArmGicV2DisableInterruptInterface (
|
|
||||||
IN INTN GicInterruptInterfaceBase
|
|
||||||
);
|
|
||||||
|
|
||||||
UINTN
|
|
||||||
EFIAPI
|
|
||||||
ArmGicV2AcknowledgeInterrupt (
|
|
||||||
IN UINTN GicInterruptInterfaceBase
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
ArmGicV2EndOfInterrupt (
|
|
||||||
IN UINTN GicInterruptInterfaceBase,
|
|
||||||
IN UINTN Source
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -12,8 +12,9 @@
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
#include <Library/ArmGicLib.h>
|
||||||
|
|
||||||
#include "ArmGicDxe.h"
|
#include "ArmGicDxe.h"
|
||||||
#include "GicV3/ArmGicV3Lib.h"
|
|
||||||
|
|
||||||
#define ARM_GIC_DEFAULT_PRIORITY 0x80
|
#define ARM_GIC_DEFAULT_PRIORITY 0x80
|
||||||
|
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
/** @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
|
|
|
@ -231,4 +231,98 @@ ArmGicIsInterruptEnabled (
|
||||||
IN UINTN Source
|
IN UINTN Source
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// GIC revision 2 specific declarations
|
||||||
|
//
|
||||||
|
|
||||||
|
// Interrupts from 1020 to 1023 are considered as special interrupts (eg: spurious interrupts)
|
||||||
|
#define ARM_GIC_IS_SPECIAL_INTERRUPTS(Interrupt) (((Interrupt) >= 1020) && ((Interrupt) <= 1023))
|
||||||
|
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
ArmGicV2SetupNonSecure (
|
||||||
|
IN UINTN MpId,
|
||||||
|
IN INTN GicDistributorBase,
|
||||||
|
IN INTN GicInterruptInterfaceBase
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
ArmGicV2EnableInterruptInterface (
|
||||||
|
IN INTN GicInterruptInterfaceBase
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
ArmGicV2DisableInterruptInterface (
|
||||||
|
IN INTN GicInterruptInterfaceBase
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmGicV2AcknowledgeInterrupt (
|
||||||
|
IN UINTN GicInterruptInterfaceBase
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
ArmGicV2EndOfInterrupt (
|
||||||
|
IN UINTN GicInterruptInterfaceBase,
|
||||||
|
IN UINTN Source
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// GIC revision 3 specific declarations
|
||||||
|
//
|
||||||
|
|
||||||
|
#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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue