The data type used by variables representing the GicInterruptInterfaceBase has been inconsistently used in the ArmGic driver and the library. The PCD defined for the GIC Interrupt interface base address is UINT64. However, the data types for the variables used is UINTN, INTN, and at some places UINT32. Therefore, update the data types to use UINTN and add necessary typecasts when reading values from the PCD. This should then be consistent across AArch32 and AArch64 builds. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
36 lines
795 B
C
36 lines
795 B
C
/** @file
|
|
*
|
|
* Copyright (c) 2011-2023, Arm Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
*
|
|
**/
|
|
|
|
#include <Uefi.h>
|
|
#include <Library/IoLib.h>
|
|
#include <Library/ArmGicLib.h>
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV2EnableInterruptInterface (
|
|
IN UINTN GicInterruptInterfaceBase
|
|
)
|
|
{
|
|
/*
|
|
* Enable the CPU interface in Non-Secure world
|
|
* Note: The ICCICR register is banked when Security extensions are implemented
|
|
*/
|
|
MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR, 0x1);
|
|
}
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmGicV2DisableInterruptInterface (
|
|
IN UINTN GicInterruptInterfaceBase
|
|
)
|
|
{
|
|
// Disable Gic Interface
|
|
MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR, 0x0);
|
|
MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCPMR, 0x0);
|
|
}
|