From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (EUR05-DB8-obe.outbound.protection.outlook.com [40.107.20.53]) by mx.groups.io with SMTP id smtpd.web08.23405.1621864614131514276 for ; Mon, 24 May 2021 06:56:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=ISRu+DeC; spf=pass (domain: arm.com, ip: 40.107.20.53, 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=idQOuX5KmxinR5NxAY5HOnoI78Ss2AxN3h5zQMxd06Q=; b=ISRu+DeCpV+w0XKC5PSGFl9/kfBZPrg+r+dYMyCoHKMU7nXQO2SRFSQBwDkzy32ejZNH3qP8J82cBI1Ftt1o9r/G1XF+CJk34DP5n7uhNDcKKQ8sk8oD7C+dEoaEzLK+Lw1dHdp8zy1MnW24PMCe8u0Jif9y9K6N95reSVSNvhM= Received: from AM9P193CA0011.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::16) by VI1PR08MB3261.eurprd08.prod.outlook.com (2603:10a6:803:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23; Mon, 24 May 2021 13:56:42 +0000 Received: from AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:21e:cafe::be) by AM9P193CA0011.outlook.office365.com (2603:10a6:20b:21e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23 via Frontend Transport; Mon, 24 May 2021 13:56:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT042.mail.protection.outlook.com (10.152.17.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Mon, 24 May 2021 13:56:41 +0000 Received: ("Tessian outbound 504317ef584c:v92"); Mon, 24 May 2021 13:56:40 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 02653800047ddbc6 X-CR-MTA-TID: 64aa7808 Received: from 85e78b82eeb8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 213FB219-47E5-4E2F-BF7B-3FF1835CB45B.1; Mon, 24 May 2021 13:01:40 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 85e78b82eeb8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 May 2021 13:01:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWHiflf+afKWF+3Lj9CWypUaj1l4LfVcuIDVuOln1JesfNm9PSS2H4UREgZajTfkt9nSfmtCU7ZleA3vYcYujBhNVFyad+w81CaqwE8SxKeFy2hPLAB1yAlv0K7RMvHk7umgRRpqNiFlTofkBGPUlHysUX1GCbsVBwOskCUW9S/vrX+U3MEUwBLBAsoqylFEKFJjbjScsQC3O7DrOj/1Et3IZgKibJbdV1EAY2jLg4sD6kxoTuw2SmHkOQBkDEZVXuQC5mgxtwq7/uhFYE1vLFKicGjT/Ikbr+CpAhnmNhWpv5nWm5RATvw8kmo/FQSJsVRWAUrjPuf1UitW8wTUFg== 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-SenderADCheck; bh=idQOuX5KmxinR5NxAY5HOnoI78Ss2AxN3h5zQMxd06Q=; b=XE+BhdDrHPl7eGyGqXfPS1ihGY55Wwe/ZRUOTIxi88K68srrrkA0iLAPa80fT2UPsGmljsRdIdr+Vu9PK2GrDw79DWsNu4TurXfRVZtieP0oJQBlOALKFX7+HxNn7OsFZ/UtwSfNYL9dp9qhNsms9pt2x/N+oH1ZRc0MBW1uL81MKRzsequpBEwjAD0TEsWIuM/QQVClghkSIk4NhTrN13hJlWPsHRyK4DP80e8YjJGKRWnsklnikKqtRgUWQSvzELuBIMy12r01wYip9+bYabgFoTm1hhh7R+NI5Z4XSsoK50QbPVkLTfdOuZ0UUh47KXhPjHNwkHQWzfOhoQEbHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); 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=idQOuX5KmxinR5NxAY5HOnoI78Ss2AxN3h5zQMxd06Q=; b=ISRu+DeCpV+w0XKC5PSGFl9/kfBZPrg+r+dYMyCoHKMU7nXQO2SRFSQBwDkzy32ejZNH3qP8J82cBI1Ftt1o9r/G1XF+CJk34DP5n7uhNDcKKQ8sk8oD7C+dEoaEzLK+Lw1dHdp8zy1MnW24PMCe8u0Jif9y9K6N95reSVSNvhM= Received: from DB8PR06CA0039.eurprd06.prod.outlook.com (2603:10a6:10:120::13) by AM9PR08MB6084.eurprd08.prod.outlook.com (2603:10a6:20b:287::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23; Mon, 24 May 2021 13:01:35 +0000 Received: from DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:120:cafe::42) by DB8PR06CA0039.outlook.office365.com (2603:10a6:10:120::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23 via Frontend Transport; Mon, 24 May 2021 13:01:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT058.mail.protection.outlook.com (10.152.20.255) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4129.25 via Frontend Transport; Mon, 24 May 2021 13:01:35 +0000 Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.14; Mon, 24 May 2021 13:01:31 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.14; Mon, 24 May 2021 13:01:31 +0000 Received: from E114225.Arm.com (10.1.196.43) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2176.14 via Frontend Transport; Mon, 24 May 2021 13:01:30 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , Subject: [edk2-devel202105 PATCH v2 1/1] ArmPkg/ArmGic: Fix maximum number of interrupts in GICv3 Date: Mon, 24 May 2021 14:01:30 +0100 Message-ID: <20210524130130.22280-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.16.2.windows.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 476bf928-40ee-4cdf-9a44-08d91ebbc225 X-MS-TrafficTypeDiagnostic: AM9PR08MB6084:|VI1PR08MB3261: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: pcdi13g3Ldr2Yy1/3nvaNvJb92n++b13jGohuaoUtCMnT5oLoWSkRGKyRtTQqLbV4jaHzL2eudWp7nI8X7w/UHqawZhSkWvvjWKWBcgh9StGw0mduSGLC+kMj/wH0Diw5LjzJqzTWrL7EIp9IKjf92+FX4hTMsnSp2m/vB0/SoBXpkQ8+jRbiHbXwCD8UbuX/LkLD0oJUxia7Gwf+dqXkHOl+iMVniCGnCwwAppfNCcGU6T/H8YUHfFyDnW9bujwMHvdMX6H/i+iPf5KPoVjFRWwL+DbDrShUBajG1hYsg8OlsAnKizk9t/QMD2whApkQdUqgUpGW7EgKAfi+tlHCl6vwTB31PnNqqsU40MGMuAl7KhfJ9MdEXATjfJR9yaMtf2QxSGOyJOyOk9co+TrOjexrSRWx0i4ujzj0DotfOM+Iz7JTT/0xl1Yy+opcXXzpT3bHXWKSnZIrLpEhaElePavC4dNffN25YuLdmoOUJFZomblpqjf8bqECinFz5C1VKhfq5TMJSGM0+vPSYkvjcO4Izq5kgnxaHc/aOC8jV4xGkXYOCnkUrDXnW3kLgEeeEipj88pw2f9zkmyirSpik0aohXVmHHHMloNiTDlg74LvvSaF6SmFeF3ToCken09YCAmeTOfRMQ5SPzTwxlFK/JBYu/8LKMu5P44NbslSlC+6igefpq9KkP73Y8FmILLT7KHOWZOp0Nsj19LBr7oJg8JRkZdGB+mTT7zwwCFMV8HA/H/GyKHHJcUeMXDAAlIjae0ZgxHJN/mLRr374Xbh9/wKSbHHKVZUMUE3nHuRIddacD5xWKxRC+RmYg7gg3J X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(376002)(39850400004)(136003)(396003)(36840700001)(46966006)(356005)(47076005)(81166007)(54906003)(36860700001)(336012)(2616005)(426003)(316002)(44832011)(2906002)(8936002)(186003)(4326008)(82740400003)(86362001)(6916009)(478600001)(82310400003)(8676002)(7696005)(26005)(70206006)(966005)(70586007)(5660300002)(83380400001)(1076003)(36756003)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6084 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 035ad3b5-d4ad-45cd-15be-08d91eb40f95 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cZp8HSbMX4w4hjGZsXsSK5n0pipcd4dMAFFbNONRqbDe9zSvdygate/tpHf21OrZTBfHsM/mvVeu0Fdq1LW9GLWrXSlH88p7CDZ9wkVmfQrfRDrP2o/OgaEMthvIw/O777dHOsisV5Iv4MXp6d7QxtPiT6XkshfwpL7VY62ovcb9w/j+JWZE7X2F/bXnf0oCImnXL9z2RHyJDSwN6mxv6WxE+T1uMUbBp44hJVSMZfV/+rVQIDfcoSrEVMkoep4cFBz763QCUy4QkVLwTXMyUpHwDSNCoWXYqT2fWRuWMxOZBqyFdNulu+WIxp9eUe6z+AGuoiZP3y0IANL3z8ekBi4UBk8VCjVWzeld0kPoW+xCrqoFv8H0rwCHBvVYj9Jyu9sAVl4xI77zlmENXyigrZmUVPmj3PjvD9O8wowOsg5EVZ5nh97c9kb+jWau5rZfBJzyJn5j0uqn3R7taOM3hogFbqpp07e4xrSSNMyt66wcSM0OS2UA8AizJ05wqVBaWpo+T2IvWvaxaevWyN6DOBrHvYndFgfZnJdci1B7CANJR+1UGMpzD39KM3mXSq16vxwEaCymjFKBXhbGYWNHs0Ldhd4hGJiIbxBBuBxnSd5CkuIn6Zz2aqSxRe+YviaEY8gh5iWdPtNXPjqRI3ReFTT8pFxMlPaNTuuzH5XGiK/G9HOvAG6dpDMMrxxj21NPeJWxrkmUqGJlmdFodfS/SQVxS210lQcvsJC32W0yI/p0fqzNTr6jDqELn6BhwQQ2z3UayKXGhIPIjMcqeNiGSA== 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:(4636009)(136003)(396003)(346002)(376002)(39840400004)(36840700001)(46966006)(26005)(186003)(478600001)(4326008)(82310400003)(81166007)(83380400001)(47076005)(36860700001)(6916009)(7696005)(336012)(966005)(2616005)(8676002)(70206006)(5660300002)(316002)(1076003)(44832011)(70586007)(2906002)(54906003)(8936002)(36756003)(86362001)(426003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2021 13:56:41.3977 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 476bf928-40ee-4cdf-9a44-08d91ebbc225 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: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3261 Content-Type: text/plain From: Andreas Sandberg Bugzilla: 3415 (https://bugzilla.tianocore.org/show_bug.cgi?id=3415) The GICv3 architecture supports up to 1020 ordinary interrupt lines. The actual number of interrupts supported is described by the ITLinesNumber field in the GICD_TYPER register. The total number of implemented registers is normally calculated as 32*(ITLinesNumber+1). However, maximum value (0x1f) is a special case since that would indicate that 1024 interrupts are implemented. Add handling for this special case in ArmGicGetMaxNumInterrupts. Signed-off-by: Andreas Sandberg Signed-off-by: Joey Gouly Signed-off-by: Sami Mujawar Reviewed-by: Ard Biesheuvel --- The changes can be seen at: https://github.com/samimujawar/edk2/tree/1396_gic_max_num_intr_v2 Notes: v2: - Fix comment style. [Laszlo] - Updated comment style. [Sami] ArmPkg/Drivers/ArmGic/ArmGicLib.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.c b/ArmPkg/Drivers/ArmGic/ArmGicLib.c index 6b01c88206ad8adef3100dd44c0d57660db77783..bd4b5edb903f3846f4f0e431f93e001f01cd9e7d 100644 --- a/ArmPkg/Drivers/ArmGic/ArmGicLib.c +++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.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 * @@ -120,7 +120,14 @@ ArmGicGetMaxNumInterrupts ( IN INTN GicDistributorBase ) { - return 32 * ((MmioRead32 (GicDistributorBase + ARM_GIC_ICDICTR) & 0x1F) + 1); + UINTN ItLines; + + ItLines = MmioRead32 (GicDistributorBase + ARM_GIC_ICDICTR) & 0x1F; + + // + // Interrupt ID 1020-1023 are reserved. + // + return (ItLines == 0x1f) ? 1020 : 32 * (ItLines + 1); } VOID -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'