From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) by mx.groups.io with SMTP id smtpd.web10.22738.1684848938534833050 for ; Tue, 23 May 2023 06:35:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=owRJJ1RR; spf=pass (domain: gmail.com, ip: 209.85.215.174, mailfrom: pedro.falcato@gmail.com) Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-53487355877so3521974a12.1 for ; Tue, 23 May 2023 06:35:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684848938; x=1687440938; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=SWBRyfkueDnZczii8e71aC8dYy+SIH3eXMruDNgzJDY=; b=owRJJ1RRopkmo4+82PeP1cw2luzPc0BKCTQJ7oVN6AXqWjVjgNZHb0UorG2VRJtN6D P/j1WSDXF5zuc8eX7gx9pAs7NSlppbRaUjii2+hccCVOi2Yms1SEUTAb98YlIm3Vudc5 bCBjYmOYOwjPJJBhvomfB0iDT3Dshptng7ZZqrngNpO98IR8dN3mMfAB4pdc8D3Xzmdq SVv/8QY8RUUPtWtD4+Kj+PlkmXXXAfnXOMDi61TM1Xq3KykWpOIYL+y4kTfMGty8Uoz6 MtmHLwsDSvUdqjx7MaDw3bfLlsVZO26/d8sPv8LFyAN0Uu8/cnBEbHHBMVGv0UNM4NrF w/Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684848938; x=1687440938; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SWBRyfkueDnZczii8e71aC8dYy+SIH3eXMruDNgzJDY=; b=BZkYfaXERNp1vJf+uVcrxi/e5LzS0etm8mf+8H9eR/gf2+zfkADqqwU6tNisQDsD5V czL7VDorEHGPVmph0F+G8WZtjOu3IMQct6rLssPaK3me+rMrC1fGiWg0fpJKawKA6xun pK1BlwfDB33Kv9NhKDx983ezXhLemD0hHk+Hr+WpYxq47hxKvV+e+V+rCNEZ7PrRgnfc XfvQ/R6QerKCAyWZ1uZ7cSBAh5isaCYUx7DDLSL4V5ZR992PuBDzdB7Xy3z5iBNFsCbZ JeGEoyTXSDyFuvfQSggFEevPA+TYVHwDIaTcuK5N8hpdQumEHFvfCiq0WPmqdzTX1IKP kGuA== X-Gm-Message-State: AC+VfDz/Psg64oBmyieHiN2EO/T9tPBuzChyL46ogKcWwfAAjarNOSaK /342PMtx7S10ahyRWkYuxZKpPZvU8rUY3+wm7Hw= X-Google-Smtp-Source: ACHHUZ7XIqj31nWqaZ50cszEHOqxx7h3xHhp8+Mxc0m4FxHdirAKh9ewyubtQ/yRJSZQWGnKtqAxEpd8leBFwVPWtbc= X-Received: by 2002:a17:903:1108:b0:1ad:be4d:5dfe with SMTP id n8-20020a170903110800b001adbe4d5dfemr16772092plh.27.1684848937730; Tue, 23 May 2023 06:35:37 -0700 (PDT) MIME-Version: 1.0 References: <20230523130421.10804-1-sami.mujawar@arm.com> <20230523130421.10804-3-sami.mujawar@arm.com> In-Reply-To: <20230523130421.10804-3-sami.mujawar@arm.com> From: "Pedro Falcato" Date: Tue, 23 May 2023 14:35:26 +0100 Message-ID: Subject: Re: [PATCH v1 02/12] ArmPkg: Fix data type used for GicInterruptInterfaceBase To: Sami Mujawar Cc: devel@edk2.groups.io, ardb+tianocore@kernel.org, quic_llindhol@quicinc.com, neil.jones@blaize.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" Content-Transfer-Encoding: quoted-printable On Tue, May 23, 2023 at 2:04=E2=80=AFPM Sami Mujawar = wrote: > > 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 > --- > ArmPkg/Drivers/ArmGic/ArmGicLib.c | 13 ++++++++++--- > ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c | 2 +- > ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2NonSecLib.c | 6 +++--- > ArmPkg/Include/Library/ArmGicLib.h | 18 +++++++++--------- > 4 files changed, 23 insertions(+), 16 deletions(-) > > diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.c b/ArmPkg/Drivers/ArmGic/Ar= mGicLib.c > index 6e44e89390fcdaa89302d6505f75c43c84ce3535..78edc7e76a087caa5b91d896f= 9bd316d6530a668 100644 > --- a/ArmPkg/Drivers/ArmGic/ArmGicLib.c > +++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.c > @@ -104,10 +104,17 @@ GicGetCpuRedistributorBase ( > return 0; > } > > +/** > + Return the GIC CPU Interrupt Interface ID. > + > + @param GicInterruptInterfaceBase Base address of the GIC Interrupt In= terface. > + > + @retval CPU Interface Identification information. > +**/ > UINTN > EFIAPI > ArmGicGetInterfaceIdentification ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ) > { > // Read the GIC Identification Register > @@ -400,7 +407,7 @@ ArmGicDisableDistributor ( > VOID > EFIAPI > ArmGicEnableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ) > { > ARM_GIC_ARCH_REVISION Revision; > @@ -418,7 +425,7 @@ ArmGicEnableInterruptInterface ( > VOID > EFIAPI > ArmGicDisableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ) > { > ARM_GIC_ARCH_REVISION Revision; > diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c b/ArmPkg/Drivers/A= rmGic/GicV2/ArmGicV2Dxe.c > index b7d67d830e46b663e4054990e7456660fb22cda9..b952c3ae31c060ecbb43c0800= d34e57664a8262a 100644 > --- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c > +++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c > @@ -400,7 +400,7 @@ GicV2DxeInitialize ( > // the system. > ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGu= id); > > - mGicInterruptInterfaceBase =3D PcdGet64 (PcdGicInterruptInterfaceBase)= ; > + mGicInterruptInterfaceBase =3D (UINTN)PcdGet64 (PcdGicInterruptInterfa= ceBase); > mGicDistributorBase =3D (UINTN)PcdGet64 (PcdGicDistributorBase)= ; > mGicNumInterrupts =3D ArmGicGetMaxNumInterrupts (mGicDistribu= torBase); > ASSERT'ing for PCD <=3D MAX_UINTN may be desirable here, for both bases? > diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2NonSecLib.c b/ArmPkg/Dri= vers/ArmGic/GicV2/ArmGicV2NonSecLib.c > index 85c2a920a54a1acaccb98a94b5591ce36d20697c..832f21644233655ef2f359f1e= 175071d2a493b7c 100644 > --- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2NonSecLib.c > +++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2NonSecLib.c > @@ -1,6 +1,6 @@ > /** @file > * > -* Copyright (c) 2011-2014, 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 > ArmGicV2EnableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ) > { > /* > @@ -26,7 +26,7 @@ ArmGicV2EnableInterruptInterface ( > VOID > EFIAPI > ArmGicV2DisableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ) > { > // Disable Gic Interface > diff --git a/ArmPkg/Include/Library/ArmGicLib.h b/ArmPkg/Include/Library/= ArmGicLib.h > index 72dbd1ca8d626c69d9bb8727d77fd34b4ab3af28..41bbf1da6a6cbb683df4bb30c= 4b1a1762dc7814f 100644 > --- a/ArmPkg/Include/Library/ArmGicLib.h > +++ b/ArmPkg/Include/Library/ArmGicLib.h > @@ -113,7 +113,7 @@ > UINTN > EFIAPI > ArmGicGetInterfaceIdentification ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > // GIC Secure interfaces > @@ -122,7 +122,7 @@ EFIAPI > ArmGicSetupNonSecure ( > IN UINTN MpId, > IN UINTN GicDistributorBase, > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > VOID > @@ -136,13 +136,13 @@ ArmGicSetSecureInterrupts ( > VOID > EFIAPI > ArmGicEnableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > VOID > EFIAPI > ArmGicDisableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > VOID > @@ -203,8 +203,8 @@ ArmGicEndOfInterrupt ( > UINTN > EFIAPI > ArmGicSetPriorityMask ( > - IN INTN GicInterruptInterfaceBase, > - IN INTN PriorityMask > + IN UINTN GicInterruptInterfaceBase, > + IN INTN PriorityMask > ); > > VOID > @@ -252,19 +252,19 @@ EFIAPI > ArmGicV2SetupNonSecure ( > IN UINTN MpId, > IN UINTN GicDistributorBase, > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > VOID > EFIAPI > ArmGicV2EnableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > VOID > EFIAPI > ArmGicV2DisableInterruptInterface ( > - IN INTN GicInterruptInterfaceBase > + IN UINTN GicInterruptInterfaceBase > ); > > UINTN > -- > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' > --=20 Pedro