From nobody Mon Feb 9 14:33:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83550+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=arm.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16365418104901013.7244056392055; Wed, 10 Nov 2021 02:56:50 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id GoEnYY1788612xMMuC6D2uaF; Wed, 10 Nov 2021 02:56:50 -0800 X-Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.74]) by mx.groups.io with SMTP id smtpd.web08.10433.1636541809254541019 for ; Wed, 10 Nov 2021 02:56:49 -0800 X-Received: from AM5PR0101CA0018.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::31) by AM5PR0801MB1713.eurprd08.prod.outlook.com (2603:10a6:203:34::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Wed, 10 Nov 2021 10:56:46 +0000 X-Received: from AM5EUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:16:cafe::97) by AM5PR0101CA0018.outlook.office365.com (2603:10a6:206:16::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.16 via Frontend Transport; Wed, 10 Nov 2021 10:56:46 +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 (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83550+1787277+3901457@groups.io; helo=mail02.groups.io; 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; X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT045.mail.protection.outlook.com (10.152.17.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Wed, 10 Nov 2021 10:56:46 +0000 X-Received: ("Tessian outbound d49ee2bec50d:v108"); Wed, 10 Nov 2021 10:56:45 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4b5e38f3fee99a49 X-CR-MTA-TID: 64aa7808 X-Received: from 8fc8ef87a881.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3FEF2204-17A9-4E2C-9C99-11F8B8E74175.1; Wed, 10 Nov 2021 10:56:37 +0000 X-Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8fc8ef87a881.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Nov 2021 10:56:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HGdddbMuPXYRtksrm26ZiESI8RbYL/hRmkeJ8sDjWKzxyfpoWfJlOyzmMsuyZfpHVSqjFr6/A7uryNkh14xELZY0F6aK6hmLGpkpj9F+LAIv0GwiHzf9LEFOkX8DFlI0PaIZv7iTWI5+SwUa1x4JV1CHt/fieTWcunZVPRlXGBAsDukDughjMftzKcBLu2E/NmorCgF8H9dBlZyy+vToJgBHtXiXzwvPJxsABLJrzfhisT82sRAVycoRZml8tGMgg1qSGjno51zQNO10htNjmneWZKPlt1SK2mlvPg5iAilPBGP+TbSEShrPXTAcR1UZiM6FgdCGQFPYTOdgzvoojg== 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=1cuPBtKThRFRRUtihAGjhnPc5YbAovJxuxzv8RohF+Q=; b=X2GbtcoN8FMa6mFTSMWdtJOWud7GBtVGrpR9DlP3OMyVzmLK29Qk0jv+kW9evUWFRTnGpIIhDEb05J+Z20BjFkoBtg4zjGh6CymbTxsfLnCF5zCktxXjoBrDMoChWtW2icl2GRWehfphz5iWjSTvWJFkXwnQrJyomv2Ih6yOCjrovwspJcZbAgo3cW/V8A9Cir1ghXpBvKr8tWBSu1DzDhKA554cUty21jThu94Sz1ESvoDdT8lys0T24jaieZ/4EAOMgbsd7igY3SuOFCeuLO2X/Skx8eCJrCULdsWqoeLuLdLXFXAg0b5oGSZwZineVSXzSPenCXxK4Mk6VPkXYQ== 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 X-Received: from DB7PR05CA0042.eurprd05.prod.outlook.com (2603:10a6:10:2e::19) by GV1PR08MB7346.eurprd08.prod.outlook.com (2603:10a6:150:21::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Wed, 10 Nov 2021 10:56:32 +0000 X-Received: from DB5EUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2e:cafe::30) by DB7PR05CA0042.outlook.office365.com (2603:10a6:10:2e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Wed, 10 Nov 2021 10:56:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;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; X-Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT038.mail.protection.outlook.com (10.152.21.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4649.14 via Frontend Transport; Wed, 10 Nov 2021 10:56:32 +0000 X-Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 10 Nov 2021 10:55:30 +0000 X-Received: from E114225.Arm.com (10.1.196.43) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend Transport; Wed, 10 Nov 2021 10:55:30 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , Subject: [edk2-devel] [PATCH v3 5/8] DynamicTablesPkg: IORT set reference to Id array only if present Date: Wed, 10 Nov 2021 10:55:29 +0000 Message-ID: <20211110105532.38696-6-sami.mujawar@arm.com> In-Reply-To: <20211110105532.38696-1-sami.mujawar@arm.com> References: <20211110105532.38696-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 90500c12-5f40-4701-a4f5-08d9a438c9f1 X-MS-TrafficTypeDiagnostic: GV1PR08MB7346:|AM5PR0801MB1713: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7691;OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: qEcL/Vb9m0DmKgG4aVU5vXX7aGDAZuan+t84/dhSXEBF2/N5aZ0zpkq284XfbKmThShghRzrB7wjD+1/kKolu44i6BhFya5oYhWEH2abdtXfLT3X+ALk9Z205jlYjbV6K7ct7D9yMIMmKZBfrdnqJDch437MSonylw1VulqWFO4cfKjqDj9YM66LTxTttIPP9K5h4uERJ746+tiyhelTTUXSbnlFo0hNgNWE3Vfd71aXxIr10yL/TbX774jN3IDOCDLz0NTgxbnJlC72amstFs0IVylvAX1k8FF5nQ87JrWh1MvGYVtdzTm9HrNBuzOq5PvQhQLt4SI2IhcRQ51XYMo9q1HoBZ0ltLkPt9Oyl2ID3w8GkWFRRg9wggLAIk/LqXwaB7GAE/c/0rf4RlzW7Ww1oGTs3iGnB2JukX4zSfpbiinScADOHEyAq5sXHc++zCVf1+/bJrBbXR10d/iGiD1YEuOEMy5ce1wIYnPukKvXYRDYYQUILCsPi726C3Z6tQZgCq97/0dymAIxBrq+yXI9WMduwarjIttO9BC8caPcSlHuWQXjKCBRUKNlbc7yDcN/PT/XucB4H1n3BcXam47LbN9+ge3qoz2h7T0YYM+aUI6dkoQFvC1/mJAIp+AMd6WY/IKh4z2ETUkiGm/Df4k5ha8plXlFPrYlGpmfJbuLy61rN03uGTrZZPHjysIQ+AjXt1Cra2+X30Otm5YqlP8YG9jv2Y1Oer/Y8Ktzz58= 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)(36840700001)(46966006)(508600001)(26005)(6916009)(356005)(36860700001)(83380400001)(4326008)(81166007)(2906002)(1076003)(44832011)(2616005)(336012)(47076005)(8676002)(36756003)(8936002)(316002)(70206006)(186003)(82310400003)(7696005)(5660300002)(86362001)(426003)(54906003)(70586007)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7346 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: f08ac0a9-09c2-4293-93aa-08d9a438c190 X-Microsoft-Antispam-Message-Info: 1fA4rU6ajfDDytl38O8fE5AJrMrdV9N91bRscUYT27y6mCO7LAD1QgomkX5OIr4fpihgqf9qtcVPI/wmV3srKKmh9l3wnANGvjk2kH1wNaFmtVPYgLQGriYc9DX2C8geSlfxwyiezeDW2fRMCKfEsAXq6odFI9/HI5azKtKZ+kRd1KI1RPf4KDHTi6wJVHsxCwSscctmozmOf3iZ4UERs4Db7o+HdXVusOLSCiP4qOdv8GpRjpoZhAnB/AQDxACx65gxwmHkSZFldwgnVzLlv7j+tqA4qdUGPoMueNZ2vY6xfase2kT6HgLtYLgW+MTQjO/USVOFmj9U3liACHFaLyr9tl1aZJF3ARhT7TpuptGzuZn5AoAcU9+F3t55f2/B8LtEM3U3cvmNbBSNCudIaYQWzpcmjDLBR8Sz9THaBGuygiCWq0Dr2uE9iwtwrl+mfJcBmYGtWppWI5esrJLEFaA2aLN4i7ap7A00DVm7qCe02j2Mmz4zGlU7WOdH7RJxPI4hxoxusV417KnT+qe+up82DLdxxKN3nSMp2KJIy2GfTZU+hgmZ6ma5sBbPs6abWtDDYcE3qLCSBWVpB+5Efl5A0mRJZCYaykVzxAJWBMvN0AlKS0/vgOizP+64ewfys8dGfgTLHd8qOIstkhAtSco4GioSyLIoGgbxRqBMvxUuED/7apkX6BZPvVRcfLv79FAU7Oabo28b3H3KMWonKA== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 10:56:46.2186 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 90500c12-5f40-4701-a4f5-08d9a438c9f1 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: AM5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1713 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,sami.mujawar@arm.com X-Gm-Message-State: ucIZl8H49rwGPblOuWOOmZ4Ex1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1636541810; bh=AJl5CWlUN/rSk33C7S5qJlycq7YC1ZefXz+FsiCwoq0=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=F72eAT3dLAJdFVh7JzxTZMZS2e95IAPWh0fG/hwwG54UJw6oBkvjGN8d2ZAcCPqY1c4 I3PJeUDt8Ng/r8HPpIXE7PtZ/w1ESIhzQcuwTpcgKfRW5JVzecrBV0A9Np9qR8odllZPb YjGrPKklb73UbUWrp+dq9JaX6elgaGO4tPg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1636541810790100002 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The IORT table generator is setting up a reference to ID array for nodes even when the ID Mapping count is zero. This is not an issue as an OS would only access the ID Reference if the ID mapping count is not zero. However, it would be good to set the reference to ID array to zero when the ID Mapping count is zero rather than populating it with an incorrect value. Signed-off-by: Sami Mujawar Reviewed-by: Pierre Gondois --- Notes: v2: - No code change since v1. Re-sending with v2 series. [SAMI] =20 v3: - No code change since v1. Re-sending with v3 series. [SAMI] DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 29 ++++= +++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator= .c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c index a1714dbedd3e34e2716e828092aac169461c43c9..46ff1e6d03852daa2058b8bd13f= 4b18f775aba6e 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c @@ -1,7 +1,7 @@ /** @file IORT Table Generator =20 - Copyright (c) 2017 - 2020, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2021, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent =20 @par Reference(s): @@ -870,9 +870,9 @@ AddNamedComponentNodes ( NcNode->Node.NumIdMappings =3D NodeList->IdMappingCount; =20 ObjectNameLength =3D AsciiStrLen (NodeList->ObjectName) + 1; - NcNode->Node.IdReference =3D - (UINT32)(sizeof (EFI_ACPI_6_0_IO_REMAPPING_NAMED_COMP_NODE) + - (ALIGN_VALUE (ObjectNameLength, 4))); + NcNode->Node.IdReference =3D (NodeList->IdMappingCount =3D=3D 0) ? + 0 : ((UINT32)(sizeof (EFI_ACPI_6_0_IO_REMAPPING_NAMED_COMP_NODE) + + (ALIGN_VALUE (ObjectNameLength, 4)))); =20 // Named Component specific data NcNode->Flags =3D NodeList->Flags; @@ -1001,7 +1001,8 @@ AddRootComplexNodes ( RcNode->Node.Revision =3D 1; RcNode->Node.Reserved =3D EFI_ACPI_RESERVED_DWORD; RcNode->Node.NumIdMappings =3D NodeList->IdMappingCount; - RcNode->Node.IdReference =3D sizeof (EFI_ACPI_6_0_IO_REMAPPING_RC_NODE= ); + RcNode->Node.IdReference =3D (NodeList->IdMappingCount =3D=3D 0) ? + 0 : sizeof (EFI_ACPI_6_0_IO_REMAPPING_RC_NODE); =20 // Root Complex specific data RcNode->CacheCoherent =3D NodeList->CacheCoherent; @@ -1182,11 +1183,12 @@ AddSmmuV1V2Nodes ( SmmuNode->Node.Revision =3D 0; SmmuNode->Node.Reserved =3D EFI_ACPI_RESERVED_DWORD; SmmuNode->Node.NumIdMappings =3D NodeList->IdMappingCount; - SmmuNode->Node.IdReference =3D sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_= NODE) + - (NodeList->ContextInterruptCount * - sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_INT)) + - (NodeList->PmuInterruptCount * - sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_INT)); + SmmuNode->Node.IdReference =3D (NodeList->IdMappingCount =3D=3D 0) ? + 0 : (sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_NODE) + + (NodeList->ContextInterruptCount * + sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_INT)) + + (NodeList->PmuInterruptCount * + sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU_INT))); =20 // SMMU v1/v2 specific data SmmuNode->Base =3D NodeList->BaseAddress; @@ -1352,8 +1354,8 @@ AddSmmuV3Nodes ( SmmuV3Node->Node.Revision =3D 2; SmmuV3Node->Node.Reserved =3D EFI_ACPI_RESERVED_DWORD; SmmuV3Node->Node.NumIdMappings =3D NodeList->IdMappingCount; - SmmuV3Node->Node.IdReference =3D - sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE); + SmmuV3Node->Node.IdReference =3D (NodeList->IdMappingCount =3D=3D 0) ? + 0 : sizeof (EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE); =20 // SMMUv3 specific data SmmuV3Node->Base =3D NodeList->BaseAddress; @@ -1482,7 +1484,8 @@ AddPmcgNodes ( PmcgNode->Node.Revision =3D 1; PmcgNode->Node.Reserved =3D EFI_ACPI_RESERVED_DWORD; PmcgNode->Node.NumIdMappings =3D NodeList->IdMappingCount; - PmcgNode->Node.IdReference =3D sizeof (EFI_ACPI_6_0_IO_REMAPPING_PMCG_= NODE); + PmcgNode->Node.IdReference =3D (NodeList->IdMappingCount =3D=3D 0) ? + 0 : sizeof (EFI_ACPI_6_0_IO_REMAPPING_PMCG_NODE); =20 // PMCG specific data PmcgNode->Base =3D NodeList->BaseAddress; --=20 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83550): https://edk2.groups.io/g/devel/message/83550 Mute This Topic: https://groups.io/mt/86954332/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-