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:
Ard Biesheuvel 2015-07-28 20:44:27 +00:00 committed by abiesheuvel
parent 983fffd431
commit bce29e3059
9 changed files with 98 additions and 133 deletions

View File

@ -15,8 +15,6 @@
#include <Library/ArmLib.h>
#include <Library/ArmGicLib.h>
#include "GicV3/ArmGicV3Lib.h"
ARM_GIC_ARCH_REVISION
EFIAPI
ArmGicGetSupportedArchRevision (

View File

@ -15,8 +15,6 @@
#include <Library/ArmLib.h>
#include <Library/ArmGicLib.h>
#include "GicV3/ArmGicV3Lib.h"
ARM_GIC_ARCH_REVISION
EFIAPI
ArmGicGetSupportedArchRevision (

View File

@ -19,9 +19,6 @@
#include <Library/IoLib.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
*

View File

@ -17,8 +17,6 @@
#include <Library/IoLib.h>
#include <Library/ArmGicLib.h>
#include "GicV2/ArmGicV2Lib.h"
/*
* This function configures the interrupts set by the mask to be secure.
*

View File

@ -22,8 +22,9 @@ Abstract:
--*/
#include <Library/ArmGicLib.h>
#include "ArmGicDxe.h"
#include "GicV2/ArmGicV2Lib.h"
#define ARM_GIC_DEFAULT_PRIORITY 0x80

View File

@ -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

View File

@ -12,8 +12,9 @@
*
**/
#include <Library/ArmGicLib.h>
#include "ArmGicDxe.h"
#include "GicV3/ArmGicV3Lib.h"
#define ARM_GIC_DEFAULT_PRIORITY 0x80

View File

@ -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

View File

@ -231,4 +231,98 @@ ArmGicIsInterruptEnabled (
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