From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (EUR01-VE1-obe.outbound.protection.outlook.com [40.107.14.53]) by mx.groups.io with SMTP id smtpd.web11.39556.1656688019926456190 for ; Fri, 01 Jul 2022 08:07:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@xsightlabs.com header.s=selector1 header.b=tCp2yRk4; spf=permerror, err=too many SPF records (domain: xsightlabs.com, ip: 40.107.14.53, mailfrom: robbiek@xsightlabs.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GPtP3pbG1kt+XdnJP/ZZdWnCZVNBx1WJJ4JyFc4TLwhBFjcQpO2LBWRd2K1ujI6bY/UWG+ISAihTDdNKWsXXunA5KzPANHHCdKg6OtFxE1VwuXPJsR2fbuf4z0u+hogCrx3pp4xl/oovH5/MEIfItYHZj+3eCkkW+FoePdvfVz1IMcZ90WD4OqVGS5VmRhaIt2DuqtMnYPMfIMLG9fXerX+iWMyrsTTL9EEzNUJ8T2f/GqdUnP/1TLLnndOtQiVp1ahiKwtmkGUibdqvu53mIw8sTquAgTHsgFGD35ClJgTtwlxln0k7DrXsAoT9dAk4V2dDkucDS2fJpD06NrehRg== 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=ryQKwRxsg/9Umrz7wNpZ9v70cz/E6iYtOtBTNl6MAD4=; b=Se1lzNyIFu15J31hQqxuzdfW9UfcqTOpKiUElifPnUefen6DWIukAmO7kzEykHdaX+ICVKN8ApbIRZakSDkAsGGutLUpXX+0nk+385r/1FU+HqstN3Bgb7WnReX+4girW+L4TJdDwJlb+oYNH6P7k+FamVzyRqg1JJTrVX0R1Axf0Pll+8xoHomER+KG8t1WWI7ZCCXlNc3C3M/3q/6b3AvJc5SBB6V3paIrVbu8vaD7hiNmFHbWLai30rIC7SfL5+8C0zVwRhwysJGrrSvE8aNJFUy1jiW5xbB1fm1EDzW3Fpx0vIKFBpz+IvzCrAtn8gTuBvnh8/TIysjTAr0cYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xsightlabs.com; dmarc=pass action=none header.from=xsightlabs.com; dkim=pass header.d=xsightlabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xsightlabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ryQKwRxsg/9Umrz7wNpZ9v70cz/E6iYtOtBTNl6MAD4=; b=tCp2yRk4o/dAIRsj8o2c0WAB3hrO3mZyJFcB6KZW31oDYLKUViMVX4IcZwSpZ2O0b3qsKmdNgq5E8b+2KCUIPPp59vcWKAseV9AjyzCzYkpC+E451XcM/Z4154bSClPFiNPthxNhnUPN/nTHOKFdh3WWC8LsGO+B08Q1ni0rmiw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=xsightlabs.com; Received: from AS8P193MB2335.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:446::5) by AM8P193MB0866.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:1e1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Fri, 1 Jul 2022 15:06:56 +0000 Received: from AS8P193MB2335.EURP193.PROD.OUTLOOK.COM ([fe80::f42e:c7d6:922c:9de5]) by AS8P193MB2335.EURP193.PROD.OUTLOOK.COM ([fe80::f42e:c7d6:922c:9de5%6]) with mapi id 15.20.5395.017; Fri, 1 Jul 2022 15:06:56 +0000 From: "Robbie King" To: devel@edk2.groups.io Cc: Robbie King , Leif Lindholm , Ard Biesheuvel , Sami Mujawar Subject: [PATCH] ArmPkg/Drivers: ArmGicIsInterruptEnabled returns incorrect value Date: Fri, 1 Jul 2022 11:06:17 -0400 Message-Id: <20220701150617.61224-1-robbiek@xsightlabs.com> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: MN2PR19CA0063.namprd19.prod.outlook.com (2603:10b6:208:19b::40) To AS8P193MB2335.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:446::5) Return-Path: robbiek@xsightlabs.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c30d4ac-9876-4f2a-87eb-08da5b7356a2 X-MS-TrafficTypeDiagnostic: AM8P193MB0866:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U7oAVE4jA2SjAPCavntoKy0z5gqpuGA0R7Ng/Ahz8Utxo47fXsZ2NAWgv5MU5ckL/dVLFBUWWSx+VVzzzfb0P5OjNOM+8HKYzIWHIuAIfmuf+cpdKo3NIltaXQYUFPTxf7YrFWDhT3KV8VO3W6WrgJq77xPPgqBlHeE6NcD2qh6lqIl/+CIwAJVQNcYaFqCc5b8pTlD/OYNsCfjft6Byb9QNfM4sgUgIIBTLiEem6lUOCAF11M0K5DrpTNCXEbCek5b2TzQvAjRHyWpBjMXU+NBB7yGpIQd05EdbieP3dxQWOk5CsTwNm3pOks3kgp5MXjBqMUZSnB3YCmyLDCZgw+rCe/ALifXa3nrAw7PV9sos7xt7WMDZrPDYpTCQtd/xJG+ej+MzSOWcEoR6zszF0byd3ozk+IUg4A9tOLrlRiVeY19BlX5EavJL41agnMTzd1bvhSgPHzT9WwGfgZGNd21g6cYe7fNTAcpPFQdcGk4SJdIzf0tSyBKRXeGy+h1jXNK0RlLLSa7h6bPutzpSlSRi401Y9/6olEQOGax6tq3xlNgCoTNLRO4WFL23kSd/9vf+SxdjsZxZH1eyWXdHtX3jALfYZ602ys3sU4KSK2waoH0ppuQ4f3yMxXEUqLDiXbVnFeJi8MQ7BJicJ/BG0+81RlE67sE4LrPsvFci9bc3NIEULJ8liKoVeErP6QVdBNbE5O3hy0Gq07J3wJWJzNLtWKueNdUZub77DCzDJAH9b42+pXE4Ux7ICdgcduAb30sKE124J/rBK4zyGjjbEERnncLBI/zXx77u7nh775MkeM5sa+7pDEuUDELQXS4E X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8P193MB2335.EURP193.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230016)(6029001)(4636009)(366004)(376002)(396003)(346002)(136003)(39840400004)(38350700002)(8676002)(316002)(66556008)(36756003)(66476007)(38100700002)(4326008)(66946007)(52116002)(1076003)(41300700001)(6512007)(6506007)(478600001)(2616005)(6666004)(26005)(6486002)(5660300002)(186003)(54906003)(83380400001)(6916009)(2906002)(86362001)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?x0aav7iNeMoX7rprcoVRb/1jQH61szbL+Heik01sPDh8QLz0h1uU/bGdypFs?= =?us-ascii?Q?WejCsQ8rRwRo/sGguOhZHWWK8fXaK3+UJxFaQjXU4HgbhUR1P7rAcl/rN1OT?= =?us-ascii?Q?jSB77azOPyPcRX/6UrceUFs1cvXAGFbiVj/JIHX4Hn8dY8BFwQskO8JDsJ0d?= =?us-ascii?Q?qhU4aIgViAjWH+i6Uc/79KEOVX3Y7XB5zaF67XJ8Rm2zQ022T0S2Br0zyGl4?= =?us-ascii?Q?aqwqEPMqySIFoQH/GVmavZlOM9bYvhzJkoUdJoaNrMk0O53gQw2chZjommtF?= =?us-ascii?Q?GrGTkB/SbL0QfxSNOKfn6jS2j4e2LqAIcBbPI+MjPlD8oPA4mKHDxgDjBy2U?= =?us-ascii?Q?V8Mn7ISJcm109KFJ9/8B/XzAazUFsoa7sU/pxU1VSSn/LYgeI7gjBdkO7EsO?= =?us-ascii?Q?Zg51rSNZkhbCJZ3Nj/M1D9S/DEEo5kIIB6oNYBeiWkbyixmknX0QGfIO0F1C?= =?us-ascii?Q?elyzVG9zQv4vj97PVpY6MqmJKKAuR9vrbySImjAIsLomfNG6LNm3TZPTG7T+?= =?us-ascii?Q?Df9UFfoAdmrCKEIV0HVUzIBTWED8ov8zxSOP3FRYJtOfWesxsuxhDrii90tg?= =?us-ascii?Q?vu2ga/EIB0v+qIrNDsbrhYmvp2FyWcFseHctZRiCef9NSzTCa3S5W6of+LcJ?= =?us-ascii?Q?+upit7ZVWcuR1W15WbwaVeNzlQLvgyJrw65KIrKl1pCkDBHMKklebsEH5mJc?= =?us-ascii?Q?2gk8/X1xeoafj/6gA3zUjj18ZLyX+X/mVnmlaXju8SHVoJfi03fiby7Fwmfj?= =?us-ascii?Q?wusdxwEfYl1JdPj71phTM6XXzRD8KH0UDYeBYgZaOLNmBsyYh4B3HUYWIQcu?= =?us-ascii?Q?tr1DUJmuurWYt3RinT/2HtOE0yW4INWrP0n9RqWcJmB8Via2THUU7cUnEqxz?= =?us-ascii?Q?PgXf5WV0AsP5sm825KjUYm2SEQlscmuv4q2okaLK+m9SSmJSL+RxTBs60wQL?= =?us-ascii?Q?nyVNTCUW2S+uywO/apDp2gFHw7aYQGZOakjqVbH/VfA6sNrU4nwVkqPF3dxa?= =?us-ascii?Q?jOWwEcSTuWa9lFp5VZWLNiXSNp7P9tXWuHHzG/302BRL0UXPr9m5m7iGJClV?= =?us-ascii?Q?BjFe3QAP4yfzPDCkvbMdFOzFBnR7/rmPHQP7+R12OGEkb2H6XMf6gCTvmBSW?= =?us-ascii?Q?MJ/WrAHFylbBLRO64k/ZwOYcYyCcOF9k3RgVqRg07nzkoZ/95HZ88lYBxN4Z?= =?us-ascii?Q?G0A+v+728J/+rKLi93Wx6jJGuSgsat6mguxOiM2skEH+jGke3j2lm1VQtj4h?= =?us-ascii?Q?MWYdxDTnxMvpeiK0wYfPUZ0q4oSgbxsDlsJCH9S9t4PfQ1dz9R2ZsjhN7uEk?= =?us-ascii?Q?v2SFNexGvdhupj2Bj5CU/ch6bOPjs81KyXHDRH+qwprexOoeaUerqvuea75a?= =?us-ascii?Q?uVuG7smkiFDUC0R4vObvFvR7SGCapWKOmqRiPCl+CVcAMv9HMu6o08sYn/vF?= =?us-ascii?Q?1ajhDUJVDRFXZ6sO2vBdfIGjabchafLEWn/bzNDPyzwryfkwC6sFYYb3DnSF?= =?us-ascii?Q?gx4xUOMbSF2dKIYPxP/ZB016W43fIlMAzjcULcFaKeQOCOkPtlgPbcmteZ7+?= =?us-ascii?Q?4Gw7DmrPHgxFRLlu869SsHr0rSVU2IDHJjbvXumQ?= X-OriginatorOrg: xsightlabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c30d4ac-9876-4f2a-87eb-08da5b7356a2 X-MS-Exchange-CrossTenant-AuthSource: AS8P193MB2335.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 15:06:56.0156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 646a3e34-83ea-4273-9177-ab01923abaa9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WysHhquadIDwH8pUOgPn7oP2i3h1m4xq6T0QFhoniBmkbEBVGBVVR9mlTN4ePrULL6SidKTxlF1QFUzkYm6zaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P193MB0866 Content-Type: text/plain The issue appears to have been introduced by: 41fb5d46 : ArmPkg/ArmGic: Use the GIC Redistributor instead of GIC Distributor for GICv3 The changes to ArmGicIsInterruptEnabled() introduced the error where the Boolean result is assigned to Interrupts, but then the bit position check is performed again (against the computed Boolean result instead of the interrupt mask) during the return statement. Fix removes erroneous test and relies on boolean test made at return. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Sami Mujawar Signed-off-by: Robbie King --- ArmPkg/Drivers/ArmGic/ArmGicLib.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.c b/ArmPkg/Drivers/ArmGic/ArmGicLib.c index 58ab45f812..dd3670c7cc 100644 --- a/ArmPkg/Drivers/ArmGic/ArmGicLib.c +++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.c @@ -366,10 +366,9 @@ ArmGicIsInterruptEnabled ( FeaturePcdGet (PcdArmGicV3WithV2Legacy) || SourceIsSpi (Source)) { - Interrupts = ((MmioRead32 ( - GicDistributorBase + ARM_GIC_ICDISER + (4 * RegOffset) - ) - & (1 << RegShift)) != 0); + Interrupts = MmioRead32 ( + GicDistributorBase + ARM_GIC_ICDISER + (4 * RegOffset) + ); } else { GicCpuRedistributorBase = GicGetCpuRedistributorBase ( GicRedistributorBase, -- 2.17.1