From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.49]) by mx.groups.io with SMTP id smtpd.web11.882.1684855087078237414 for ; Tue, 23 May 2023 08:18:07 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=1Cf9TumW; spf=pass (domain: arm.com, ip: 40.107.8.49, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3ZHZKm0Z0KbyWjuO0ViljtTX9+eouxlODArtZmyQs64=; b=1Cf9TumWcPNVeB1XK9J1hxM8fu3T2j4zNJG0hsXnKrO+PrMCdRAJNqjfYeZoE3o2u+9EGxW5pqN0v5igbFTsZ/RPY4obwAdyDCjLj5phGQQQ5itMrjHndqVZSpvROxFJxYqR2ED0xjWkqwMIPNCn4JD0I2jL2Pl1ky3qMZqTsiU= Received: from AM6P195CA0031.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::44) by DB5PR08MB10235.eurprd08.prod.outlook.com (2603:10a6:10:4a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.17; Tue, 23 May 2023 15:17:57 +0000 Received: from AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:81:cafe::21) by AM6P195CA0031.outlook.office365.com (2603:10a6:209:81::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.29 via Frontend Transport; Tue, 23 May 2023 15:17:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT004.mail.protection.outlook.com (100.127.140.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.14 via Frontend Transport; Tue, 23 May 2023 15:17:57 +0000 Received: ("Tessian outbound 5bb4c51d5a1f:v136"); Tue, 23 May 2023 15:17:57 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 2430c107c73389bf X-CR-MTA-TID: 64aa7808 Received: from 29e69811321f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7F90DD92-B0DB-4AD5-AE66-06DACFE4E362.1; Tue, 23 May 2023 15:17:50 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 29e69811321f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 23 May 2023 15:17:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ceMZr0EY5kTcaAU3EsQ2CUwJzqSuXVD6Lxj6HDJ6TANvMrvnTQLOacToIS4N2aEAkRAs2cDm4osQZDlUH1QToYGtieTbmlN57dXt6LCCJZz60cTM5jeGMdhIr5J9VME8u0JcKAZNwHlb5ciPYSVGWTj2UznhArI2qV6Q14WxqKrK17DBuZ7hQCVaMNaxWXLFTi357VEN5qjAzDmnihOZ5++SnBIvuZRi3if0QCbnuwJfrPEl53O89d1RF7xLVIuIbaB6SKkX+2ksoUtqLPIJZWOKhhTR0LPhYQz0LTVrqpt5kb26BgpVkLjkXBx12c4ecFO2cA2K3qTmITY2/u51Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3ZHZKm0Z0KbyWjuO0ViljtTX9+eouxlODArtZmyQs64=; b=L/4bKvdcF89Lp+vkQpH9tE0xpxhLyPtSigd8gwxodDGcuYxDivE31Nmk75FUCsoWEwNwgjwf7K5/QhHFBv3zsD3RmSCbtKuvoCtUg7s2Vb2aBAXGgsZIqUO58TQGw3qTdkj0zANmGKyTgdu3Nma0l7Tgxu3kzvvB/LqD25rt3IC9lDKzPHqoyF8hfdd/IGqmjHMR++Y3KGup0RCXG6Ayh0R2vRfxI2RuKc7II9hwQpT++f/ZBIiBIwywxtAbqeD3JcviszAk2ZbPfjoCE/IU2jwmuivSIPId8qskN2KLv19wXepUCLtNk9OoripGffbXqF0G4boWGnFhqcv/xUSElg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3ZHZKm0Z0KbyWjuO0ViljtTX9+eouxlODArtZmyQs64=; b=1Cf9TumWcPNVeB1XK9J1hxM8fu3T2j4zNJG0hsXnKrO+PrMCdRAJNqjfYeZoE3o2u+9EGxW5pqN0v5igbFTsZ/RPY4obwAdyDCjLj5phGQQQ5itMrjHndqVZSpvROxFJxYqR2ED0xjWkqwMIPNCn4JD0I2jL2Pl1ky3qMZqTsiU= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by PAWPR08MB10019.eurprd08.prod.outlook.com (2603:10a6:102:362::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.27; Tue, 23 May 2023 15:17:47 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::7afd:553d:71b8:4c8c]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::7afd:553d:71b8:4c8c%6]) with mapi id 15.20.6411.029; Tue, 23 May 2023 15:17:47 +0000 Message-ID: <9d15b8b5-3f6a-419c-9773-add00077e81f@arm.com> Date: Tue, 23 May 2023 16:17:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v1 07/12] ArmPkg: Fix return value for ArmGicV2AcknowledgeInterrupt To: Pedro Falcato 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 References: <20230523130421.10804-1-sami.mujawar@arm.com> <20230523130421.10804-8-sami.mujawar@arm.com> From: "Sami Mujawar" In-Reply-To: X-ClientProxiedBy: LO4P265CA0066.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2af::9) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6806:EE_|PAWPR08MB10019:EE_|AM7EUR03FT004:EE_|DB5PR08MB10235:EE_ X-MS-Office365-Filtering-Correlation-Id: c15c6b92-6f91-4052-f0e0-08db5ba0e383 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: MJ29hIjXa2msYoNgvq3KMO0TLeBJJlPD2SoLq8gm2MU0UV4aUnO8Q5o7fTwyiId2bG/jVFmX6b9aMFhQOXOx8IFkm1nehxTae9N6d38FHqPBI0iGXO0W98404E2R0TIyxmwz7hCmH07VjxODsbqh+v05louNMLAFpkEHoKc2io6Lo4kpWsp0oCk7AnJUtd4XxeUDwanO6JzIkoNwweuNz3ItWDZetUYAPQGW3/B/HatFUEi35i1FhQXSrT22quN80tQ7YL69sTAgnrMdKxyFcDQZJFZOuyAML77kBPDFh59LM0E4WVLpTQF3BHouvOspfxuxnDAa3oCh2n+KEGu6r2xusG2qD1uXk/W4kzuaKKkcyppm8ZuqZt9GP2C4kCxEcQzVeOvQZrAj12mAWGSICSM/n2QjLC2xug57VOT3rKWi7vtKe8ndw+eqHpXozJh9VP/8hXjDP7Q7jII0FF1qo4sV/pwnuh1jlls8+mNxaDq47ErfoP233jpGcPZeBAHgS2ZVAUMzToVgOimN2PGP8XUXwR4fSGy3QMXcCOHEsvZKkwP0+KMhUe+3TE8gKREKOmS3CxUMriOfMIn2xsWC+1GSkjPHqb75V0mwrBEp07qNVfLZlEYbw7ZN4ekeFsD6ahK8JjhgQrgyJkpSjyCR6g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(346002)(136003)(396003)(39860400002)(451199021)(41300700001)(66556008)(66476007)(66946007)(2906002)(26005)(186003)(44832011)(478600001)(6486002)(4326008)(316002)(19627235002)(31686004)(33964004)(6916009)(5660300002)(6512007)(8936002)(8676002)(53546011)(36756003)(2616005)(6506007)(83380400001)(86362001)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10019 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ea3b7386-5917-4044-865f-08db5ba0dd9d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yw9iJzGmB9RrVmy8s6T9Dbo4Gh+vu5LMp60K+uS+70Q3LUMtS5V22hc5piTkr+kKl1XP2EeVRV9ztqgvrg9f+jgRx0LE6uV3ETPhBfrmVxe77LV5JWBYcFKKkAvR8o5Wd7O+mZuFwlpzfH6nLACSE8jbJDjLojl9WF/OWvx7GA0KxXJrDRLWnT7OIuDHKlLK6yDGfgA/dUL4LGFdRfQGMvjo8HyPEwfDo954rFwsqW9I4cvvvSQDAJznFHlu3omhsPoygtWBE7sBwuaQR3AoaK1RtDwZYbozbWc8GAx61ocZzJMME1p9aFxVktN7TGtKL1rCVl+IUFl75KUArsQ9y+9DqtIz46m8lkEVpQio171FR4FlnmAB6uLxGlQK5+mkkL1qvKheqiAFGDO5njA9+F4MSuvFq+GL2VOMAOPCqFxhebdFQU2gdt9ZPi1sXkFvW0oMPsvMeNeHyfts9vHW7+9k4Mx7tA3RseGFB8eUd+bwvSnQJxFApPY7W09JAS8ykeLd/UoBsWSZyF11Nr+GS++fanml8nIoNDfCrW4QFBD+xAbYgA6GF6nimG34wW1l0eAKjCZf558oUuZuRMiAMQdpFLqgIsBFM6h5JsAkndGOArLjgDZc1HE/Ap5fmx/8XpzeFO0YWeaGqBub4f9AhS855g0TCTKzwMPz0E/Q98Q+BvoSiohu9k7sfmv1uf4iPhQW+BaW+QHCMDoNXaJhRF+aEdij3Mv5gxrm//AsqlUbACGr2xCIaGCc7kebWFLwG5UWnk+SHLLrORL867R4Sg== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(376002)(39850400004)(346002)(451199021)(36840700001)(46966006)(40470700004)(82310400005)(4326008)(70206006)(70586007)(478600001)(31686004)(86362001)(33964004)(31696002)(41300700001)(6486002)(316002)(6862004)(19627235002)(5660300002)(8936002)(8676002)(44832011)(6506007)(26005)(40460700003)(186003)(53546011)(356005)(81166007)(82740400003)(6512007)(40480700001)(2906002)(36860700001)(36756003)(83380400001)(336012)(2616005)(47076005)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2023 15:17:57.2245 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c15c6b92-6f91-4052-f0e0-08db5ba0e383 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10235 Content-Type: multipart/alternative; boundary="------------auWVqPJaFveEmMngy5a0J8y0" --------------auWVqPJaFveEmMngy5a0J8y0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Pedro, Thank you for the feedback. Please see my response inline marked [SAMI]. Regards, Sami Mujawar On 23/05/2023 02:32 pm, Pedro Falcato wrote: > On Tue, May 23, 2023 at 2:04 PM Sami Mujawar wrote: >> The IAR register of the Gic CPU interface is 32 bit, while >> the value returned by ArmGicV2AcknowledgeInterrupt() is >> UINTN. Therefore, typecast the return value to UINTN before >> returning. > Since IAR is 32-bit, doesn't it make sense to return UINT32 here? Is > this for compatibility with GICv3 or...? [SAMI] IAR in GICv3 is 32-bit as well. I think this is done to keep compatibility with HARDWARE_INTERRUPT_SOURCE which is UINTN. >> Signed-off-by: Sami Mujawar >> --- >> ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c >> index f403bec367b5254c248e620e56471904e520f9f2..80115b243afabd5e4faad88089af738b19ce4cd1 100644 >> --- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c >> +++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c >> @@ -16,7 +16,7 @@ ArmGicV2AcknowledgeInterrupt ( >> ) >> { >> // Read the Interrupt Acknowledge Register >> - return MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR); >> + return (UINTN)MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR); >> } > You don't need to cast from UINT32 to UINTN IMO. UINTN is, as far as I > know, always going to be at least 32-bits, so casting makes little > sense here, in my view, as UINTN >= UINT32. [SAMI] Ack. I will drop this patch. > --------------auWVqPJaFveEmMngy5a0J8y0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi Pedro,

Thank you for the feedback.

Please see my response inline marked [SAMI].

Regards,

Sami Mujawar

On 23/05/2023 02:32 pm, Pedro Falcato wrote:
On Tue, May 23, 2023 at 2:04 PM Sami Mujawar <sami.mujawar@arm.com> wrote:
The IAR register of the Gic CPU interface is 32 bit, while
the value returned by ArmGicV2AcknowledgeInterrupt() is
UINTN. Therefore, typecast the return value to UINTN before
returning.
Since IAR is 32-bit, doesn't it make sense to return UINT32 here? Is
this for compatibility with GICv3 or...?

[SAMI] IAR in GICv3 is 32-bit as well. I think this is done to keep compatibility with HARDWARE_INTERRUPT_SOURCE which is UINTN.


      
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c
index f403bec367b5254c248e620e56471904e520f9f2..80115b243afabd5e4faad88089af738b19ce4cd1 100644
--- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c
+++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c
@@ -16,7 +16,7 @@ ArmGicV2AcknowledgeInterrupt (
   )
 {
   // Read the Interrupt Acknowledge Register
-  return MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR);
+  return (UINTN)MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR);
 }
You don't need to cast from UINT32 to UINTN IMO. UINTN is, as far as I
know, always going to be at least 32-bits, so casting makes little
sense here, in my view, as UINTN >= UINT32.
[SAMI] Ack. I will drop this patch.

--------------auWVqPJaFveEmMngy5a0J8y0--