From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web10.22546.1684848592082924234 for ; Tue, 23 May 2023 06:29:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OzyLj22W; spf=pass (domain: kernel.org, ip: 139.178.84.217, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8D74560E92 for ; Tue, 23 May 2023 13:29:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE1A8C433D2 for ; Tue, 23 May 2023 13:29:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684848591; bh=IMVmc2aASlA60noDeUk8n/pjVBeNdyaLOz5eqszo5ws=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=OzyLj22WTLIoLijgT4Tg/Ipk7aPmSvoi8RpWkLSVjju0aglw/DHTi+FqBV4c5d9nn R992ThU15CAB0JK8qG9ik/5jFecwq5jwO5xT67IRsGvkR/YS1VWtNPZ1esxkuI/z95 r/JcvgAABOris0fzBSCeNFkG/7QpCNJc4gv4f/oZ+VYTg+jBoJWz3H4axPnHPT2An9 3gjlWn2tN4ZK+Uoo1yxcOIPGqDJZc+VwtGT+EF35wYUF1ScWawOA3MDFR5POko4t1x xv94HU7d5z+gOIpmMMxmcOIzHapYDNS4xVcb+BpxMmmx/hbpsoWVKamlkwhLUoufAs KFvjlE0joVCAg== Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2afb2874e83so30407931fa.0 for ; Tue, 23 May 2023 06:29:50 -0700 (PDT) X-Gm-Message-State: AC+VfDwgChRuSu+vd1TgS7q5SZJF2j/6N1wmyUFIb1440M4An+pY8P7a lgdDkskXqoioix9m6EGy+iWnXquxwU+nIEXyjDE= X-Google-Smtp-Source: ACHHUZ544gIea15vRKCNgjKAsS9qicyhDleE73Lt6KNLJNT6482S++0yPnWdl0K7IMSisFMmMHqmE2cZLF1DT9mDGOY= X-Received: by 2002:a2e:850f:0:b0:2ad:275a:44b6 with SMTP id j15-20020a2e850f000000b002ad275a44b6mr4719656lji.52.1684848588915; Tue, 23 May 2023 06:29:48 -0700 (PDT) MIME-Version: 1.0 References: <20230523130421.10804-1-sami.mujawar@arm.com> <20230523130421.10804-2-sami.mujawar@arm.com> In-Reply-To: <20230523130421.10804-2-sami.mujawar@arm.com> From: "Ard Biesheuvel" Date: Tue, 23 May 2023 15:29:36 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v1 01/12] ArmPkg: Fix data type used for GicDistributorBase To: Sami Mujawar Cc: devel@edk2.groups.io, ardb+tianocore@kernel.org, quic_llindhol@quicinc.com, neil.jones@blaize.com, pedro.falcato@gmail.com, pierre.gondois@arm.com, Matteo.Carlini@arm.com, Akanksha.Jain2@arm.com, Ben.Adderson@arm.com, Sibel.Allinson@arm.com, nd@arm.com Content-Type: text/plain; charset="UTF-8" On Tue, 23 May 2023 at 15:04, Sami Mujawar 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 > --- > 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.
> +Copyright (c) 2013-2021, Arm Ltd. All rights reserved.
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.
> Portions copyright (c) 2010, Apple Inc. All rights reserved.
> -Portions copyright (c) 2011-2017, ARM Ltd. All rights reserved.
> +Portions copyright (c) 2011-2021, Arm Ltd. All rights reserved.
> > 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)' >