ArmPkg: Fix data type used for GicDistributorBase

The data type used by variables representing the GicDistributorBase has
been inconsistently used in the ArmGic driver and the library.  The PCD
defined for the GIC Distributor 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>
This commit is contained in:
Sami Mujawar 2021-05-26 12:53:45 +01:00 committed by mergify[bot]
parent b38068f9f6
commit 4ec9a6f6cd
6 changed files with 27 additions and 25 deletions

View File

@ -1,6 +1,6 @@
/*++ /*++
Copyright (c) 2013-2017, ARM Ltd. All rights reserved.<BR> Copyright (c) 2013-2023, Arm Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent SPDX-License-Identifier: BSD-2-Clause-Patent
@ -61,7 +61,7 @@ GicGetDistributorIcfgBaseAndBit (
RegIndex = Source / ARM_GIC_ICDICFR_F_STRIDE; // NOTE: truncation is significant RegIndex = Source / ARM_GIC_ICDICFR_F_STRIDE; // NOTE: truncation is significant
Field = Source % ARM_GIC_ICDICFR_F_STRIDE; Field = Source % ARM_GIC_ICDICFR_F_STRIDE;
*RegAddress = PcdGet64 (PcdGicDistributorBase) *RegAddress = (UINTN)PcdGet64 (PcdGicDistributorBase)
+ ARM_GIC_ICDICFR + ARM_GIC_ICDICFR
+ (ARM_GIC_ICDICFR_BYTES * RegIndex); + (ARM_GIC_ICDICFR_BYTES * RegIndex);
*Config1Bit = ((Field * ARM_GIC_ICDICFR_F_WIDTH) *Config1Bit = ((Field * ARM_GIC_ICDICFR_F_WIDTH)

View File

@ -1,6 +1,6 @@
/** @file /** @file
* *
* Copyright (c) 2011-2021, Arm Limited. All rights reserved. * Copyright (c) 2011-2023, Arm Limited. All rights reserved.
* *
* SPDX-License-Identifier: BSD-2-Clause-Patent * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -117,7 +117,7 @@ ArmGicGetInterfaceIdentification (
UINTN UINTN
EFIAPI EFIAPI
ArmGicGetMaxNumInterrupts ( ArmGicGetMaxNumInterrupts (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
) )
{ {
UINTN ItLines; UINTN ItLines;
@ -133,10 +133,10 @@ ArmGicGetMaxNumInterrupts (
VOID VOID
EFIAPI EFIAPI
ArmGicSendSgiTo ( ArmGicSendSgiTo (
IN INTN GicDistributorBase, IN UINTN GicDistributorBase,
IN INTN TargetListFilter, IN INTN TargetListFilter,
IN INTN CPUTargetList, IN INTN CPUTargetList,
IN INTN SgiId IN INTN SgiId
) )
{ {
MmioWrite32 ( MmioWrite32 (
@ -390,7 +390,7 @@ ArmGicIsInterruptEnabled (
VOID VOID
EFIAPI EFIAPI
ArmGicDisableDistributor ( ArmGicDisableDistributor (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
) )
{ {
// Disable Gic Distributor // Disable Gic Distributor

View File

@ -1,6 +1,6 @@
/** @file /** @file
* *
* Copyright (c) 2011-2015, ARM Limited. All rights reserved. * Copyright (c) 2011-2023, Arm Limited. All rights reserved.
* *
* SPDX-License-Identifier: BSD-2-Clause-Patent * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -13,7 +13,7 @@
VOID VOID
EFIAPI EFIAPI
ArmGicEnableDistributor ( ArmGicEnableDistributor (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
) )
{ {
ARM_GIC_ARCH_REVISION Revision; ARM_GIC_ARCH_REVISION Revision;

View File

@ -2,7 +2,7 @@
Copyright (c) 2009, Hewlett-Packard Company. All rights reserved.<BR> Copyright (c) 2009, Hewlett-Packard Company. All rights reserved.<BR>
Portions copyright (c) 2010, Apple Inc. All rights reserved.<BR> Portions copyright (c) 2010, Apple Inc. All rights reserved.<BR>
Portions copyright (c) 2011-2017, ARM Ltd. All rights reserved.<BR> Portions copyright (c) 2011-2023, Arm Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent SPDX-License-Identifier: BSD-2-Clause-Patent
@ -400,8 +400,10 @@ GicV2DxeInitialize (
// the system. // the system.
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid); ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
ASSERT (PcdGet64 (PcdGicDistributorBase) <= MAX_UINTN);
mGicInterruptInterfaceBase = PcdGet64 (PcdGicInterruptInterfaceBase); mGicInterruptInterfaceBase = PcdGet64 (PcdGicInterruptInterfaceBase);
mGicDistributorBase = PcdGet64 (PcdGicDistributorBase); mGicDistributorBase = (UINTN)PcdGet64 (PcdGicDistributorBase);
mGicNumInterrupts = ArmGicGetMaxNumInterrupts (mGicDistributorBase); mGicNumInterrupts = ArmGicGetMaxNumInterrupts (mGicDistributorBase);
for (Index = 0; Index < mGicNumInterrupts; Index++) { for (Index = 0; Index < mGicNumInterrupts; Index++) {

View File

@ -1,6 +1,6 @@
/** @file /** @file
* *
* Copyright (c) 2011-2018, ARM Limited. All rights reserved. * Copyright (c) 2011-2023, Arm Limited. All rights reserved.
* *
* SPDX-License-Identifier: BSD-2-Clause-Patent * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -381,7 +381,7 @@ GicV3DxeInitialize (
// the system. // the system.
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid); ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
mGicDistributorBase = PcdGet64 (PcdGicDistributorBase); mGicDistributorBase = (UINTN)PcdGet64 (PcdGicDistributorBase);
mGicRedistributorsBase = PcdGet64 (PcdGicRedistributorsBase); mGicRedistributorsBase = PcdGet64 (PcdGicRedistributorsBase);
mGicNumInterrupts = ArmGicGetMaxNumInterrupts (mGicDistributorBase); mGicNumInterrupts = ArmGicGetMaxNumInterrupts (mGicDistributorBase);

View File

@ -1,6 +1,6 @@
/** @file /** @file
* *
* Copyright (c) 2011-2021, Arm Limited. All rights reserved.<BR> * Copyright (c) 2011-2023, Arm Limited. All rights reserved.<BR>
* *
* SPDX-License-Identifier: BSD-2-Clause-Patent * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -121,7 +121,7 @@ VOID
EFIAPI EFIAPI
ArmGicSetupNonSecure ( ArmGicSetupNonSecure (
IN UINTN MpId, IN UINTN MpId,
IN INTN GicDistributorBase, IN UINTN GicDistributorBase,
IN INTN GicInterruptInterfaceBase IN INTN GicInterruptInterfaceBase
); );
@ -148,28 +148,28 @@ ArmGicDisableInterruptInterface (
VOID VOID
EFIAPI EFIAPI
ArmGicEnableDistributor ( ArmGicEnableDistributor (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
); );
VOID VOID
EFIAPI EFIAPI
ArmGicDisableDistributor ( ArmGicDisableDistributor (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
); );
UINTN UINTN
EFIAPI EFIAPI
ArmGicGetMaxNumInterrupts ( ArmGicGetMaxNumInterrupts (
IN INTN GicDistributorBase IN UINTN GicDistributorBase
); );
VOID VOID
EFIAPI EFIAPI
ArmGicSendSgiTo ( ArmGicSendSgiTo (
IN INTN GicDistributorBase, IN UINTN GicDistributorBase,
IN INTN TargetListFilter, IN INTN TargetListFilter,
IN INTN CPUTargetList, IN INTN CPUTargetList,
IN INTN SgiId IN INTN SgiId
); );
/* /*
@ -251,7 +251,7 @@ VOID
EFIAPI EFIAPI
ArmGicV2SetupNonSecure ( ArmGicV2SetupNonSecure (
IN UINTN MpId, IN UINTN MpId,
IN INTN GicDistributorBase, IN UINTN GicDistributorBase,
IN INTN GicInterruptInterfaceBase IN INTN GicInterruptInterfaceBase
); );