On Tue, 23 May 2023 at 15:04, Sami Mujawar <sami.muja...@arm.com> wrote:
>
> 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.muja...@arm.com>
> ---
>  ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c   |  4 ++--
>  ArmPkg/Drivers/ArmGic/ArmGicLib.c         | 12 ++++++------
>  ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c   |  4 ++--
>  ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c |  4 ++--
>  ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c |  4 ++--
>  ArmPkg/Include/Library/ArmGicLib.h        | 18 +++++++++---------
>  6 files changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c 
> b/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c
> index 
> d560c42fc9f3d5e86c2aece504102f43cb841877..9ac073db36ce92fc14de71e9a264059afd63d729
>  100644
> --- a/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c
> +++ b/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c
> @@ -1,6 +1,6 @@
>  /*++
>
> -Copyright (c) 2013-2017, ARM Ltd. All rights reserved.<BR>
> +Copyright (c) 2013-2021, Arm Ltd. All rights reserved.<BR>

off by 2 ?

>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -61,7 +61,7 @@ GicGetDistributorIcfgBaseAndBit (
>
>    RegIndex    = Source / ARM_GIC_ICDICFR_F_STRIDE; // NOTE: truncation is 
> significant
>    Field       = Source % ARM_GIC_ICDICFR_F_STRIDE;
> -  *RegAddress = PcdGet64 (PcdGicDistributorBase)
> +  *RegAddress = (UINTN)PcdGet64 (PcdGicDistributorBase)
>                  + ARM_GIC_ICDICFR
>                  + (ARM_GIC_ICDICFR_BYTES * RegIndex);
>    *Config1Bit = ((Field * ARM_GIC_ICDICFR_F_WIDTH)
> diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.c 
> b/ArmPkg/Drivers/ArmGic/ArmGicLib.c
> index 
> dd3670c7ccbb18586bb28f4ac02514055471529f..6e44e89390fcdaa89302d6505f75c43c84ce3535
>  100644
> --- a/ArmPkg/Drivers/ArmGic/ArmGicLib.c
> +++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.c
> @@ -117,7 +117,7 @@ ArmGicGetInterfaceIdentification (
>  UINTN
>  EFIAPI
>  ArmGicGetMaxNumInterrupts (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    )
>  {
>    UINTN  ItLines;
> @@ -133,10 +133,10 @@ ArmGicGetMaxNumInterrupts (
>  VOID
>  EFIAPI
>  ArmGicSendSgiTo (
> -  IN  INTN  GicDistributorBase,
> -  IN  INTN  TargetListFilter,
> -  IN  INTN  CPUTargetList,
> -  IN  INTN  SgiId
> +  IN  UINTN  GicDistributorBase,
> +  IN  INTN   TargetListFilter,
> +  IN  INTN   CPUTargetList,
> +  IN  INTN   SgiId
>    )
>  {
>    MmioWrite32 (
> @@ -390,7 +390,7 @@ ArmGicIsInterruptEnabled (
>  VOID
>  EFIAPI
>  ArmGicDisableDistributor (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    )
>  {
>    // Disable Gic Distributor
> diff --git a/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c 
> b/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c
> index 
> aa4f0e2123929e0a86626b0f068d474065ca67fb..c17cbe041e8a9ceb8c8c3a6b953ff88b75f6f206
>  100644
> --- a/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c
> +++ b/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c
> @@ -1,6 +1,6 @@
>  /** @file
>  *
> -*  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
> +*  Copyright (c) 2011-2021, Arm Limited. All rights reserved.
>  *
>  *  SPDX-License-Identifier: BSD-2-Clause-Patent
>  *
> @@ -13,7 +13,7 @@
>  VOID
>  EFIAPI
>  ArmGicEnableDistributor (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    )
>  {
>    ARM_GIC_ARCH_REVISION  Revision;
> diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c 
> b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c
> index 
> 25290342bde4de907bef050d6f1bdd6e03f8dccc..b7d67d830e46b663e4054990e7456660fb22cda9
>  100644
> --- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c
> +++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c
> @@ -2,7 +2,7 @@
>
>  Copyright (c) 2009, Hewlett-Packard Company. 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-2021, Arm Ltd. All rights reserved.<BR>
>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -401,7 +401,7 @@ GicV2DxeInitialize (
>    ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
>
>    mGicInterruptInterfaceBase = PcdGet64 (PcdGicInterruptInterfaceBase);
> -  mGicDistributorBase        = PcdGet64 (PcdGicDistributorBase);
> +  mGicDistributorBase        = (UINTN)PcdGet64 (PcdGicDistributorBase);
>    mGicNumInterrupts          = ArmGicGetMaxNumInterrupts 
> (mGicDistributorBase);
>
>    for (Index = 0; Index < mGicNumInterrupts; Index++) {
> diff --git a/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c 
> b/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c
> index 
> b1f0cd48c752666e8b01eb5a25f8639e49213119..30c3fcbc3eee8e4f41f68a669cbc59650c12ca89
>  100644
> --- a/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c
> +++ b/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c
> @@ -1,6 +1,6 @@
>  /** @file
>  *
> -*  Copyright (c) 2011-2018, ARM Limited. All rights reserved.
> +*  Copyright (c) 2011-2021, Arm Limited. All rights reserved.
>  *
>  *  SPDX-License-Identifier: BSD-2-Clause-Patent
>  *
> @@ -381,7 +381,7 @@ GicV3DxeInitialize (
>    // the system.
>    ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
>
> -  mGicDistributorBase    = PcdGet64 (PcdGicDistributorBase);
> +  mGicDistributorBase    = (UINTN)PcdGet64 (PcdGicDistributorBase);
>    mGicRedistributorsBase = PcdGet64 (PcdGicRedistributorsBase);
>    mGicNumInterrupts      = ArmGicGetMaxNumInterrupts (mGicDistributorBase);
>
> diff --git a/ArmPkg/Include/Library/ArmGicLib.h 
> b/ArmPkg/Include/Library/ArmGicLib.h
> index 
> 4ab670967598f21852e46f72116bf4c78ca7dd44..72dbd1ca8d626c69d9bb8727d77fd34b4ab3af28
>  100644
> --- a/ArmPkg/Include/Library/ArmGicLib.h
> +++ b/ArmPkg/Include/Library/ArmGicLib.h
> @@ -121,7 +121,7 @@ VOID
>  EFIAPI
>  ArmGicSetupNonSecure (
>    IN  UINTN  MpId,
> -  IN  INTN   GicDistributorBase,
> +  IN  UINTN  GicDistributorBase,
>    IN  INTN   GicInterruptInterfaceBase
>    );
>
> @@ -148,28 +148,28 @@ ArmGicDisableInterruptInterface (
>  VOID
>  EFIAPI
>  ArmGicEnableDistributor (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    );
>
>  VOID
>  EFIAPI
>  ArmGicDisableDistributor (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    );
>
>  UINTN
>  EFIAPI
>  ArmGicGetMaxNumInterrupts (
> -  IN  INTN  GicDistributorBase
> +  IN  UINTN  GicDistributorBase
>    );
>
>  VOID
>  EFIAPI
>  ArmGicSendSgiTo (
> -  IN  INTN  GicDistributorBase,
> -  IN  INTN  TargetListFilter,
> -  IN  INTN  CPUTargetList,
> -  IN  INTN  SgiId
> +  IN  UINTN  GicDistributorBase,
> +  IN  INTN   TargetListFilter,
> +  IN  INTN   CPUTargetList,
> +  IN  INTN   SgiId
>    );
>
>  /*
> @@ -251,7 +251,7 @@ VOID
>  EFIAPI
>  ArmGicV2SetupNonSecure (
>    IN  UINTN  MpId,
> -  IN  INTN   GicDistributorBase,
> +  IN  UINTN  GicDistributorBase,
>    IN  INTN   GicInterruptInterfaceBase
>    );
>
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105188): https://edk2.groups.io/g/devel/message/105188
Mute This Topic: https://groups.io/mt/99086452/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to