From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 7882AD80808 for ; Fri, 22 Sep 2023 14:35:51 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=DZ4KBLSlmo1cWPdwEokZVmM88qHXQ1l+UqR1s3FKkJ8=; c=relaxed/simple; d=groups.io; h=Received-SPF:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:NoDisclaimer:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type; s=20140610; t=1695393350; v=1; b=ktrkMe/V8Fq1QhLGLSK3+iAvZClylXpMH6ubu/jbl6ofkhCOtupiWZWca+NpRNO5eN6BNzwv BmcJwjBvke+BQgsal7OwuSgsZ3ZUpifG7woupgCL6EpF3FtS9XmdaJ2AaLXCiFiO8DaJNQgBrPd XB1aM6ykNlSkxApygY+gHBzo= X-Received: by 127.0.0.2 with SMTP id 0ndxYY7687511xqP7AWhRznp; Fri, 22 Sep 2023 07:35:50 -0700 X-Received: from EUR01-VE1-obe.outbound.protection.outlook.com (EUR01-VE1-obe.outbound.protection.outlook.com [40.107.14.70]) by mx.groups.io with SMTP id smtpd.web11.23372.1695393343947549351 for ; Fri, 22 Sep 2023 07:35:44 -0700 X-Received: from AM5PR1001CA0012.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::25) by PAWPR08MB9712.eurprd08.prod.outlook.com (2603:10a6:102:2ea::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Fri, 22 Sep 2023 14:35:40 +0000 X-Received: from AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:2:cafe::f) by AM5PR1001CA0012.outlook.office365.com (2603:10a6:206:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.32 via Frontend Transport; Fri, 22 Sep 2023 14:35:40 +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 X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT062.mail.protection.outlook.com (100.127.140.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20 via Frontend Transport; Fri, 22 Sep 2023 14:35:39 +0000 X-Received: ("Tessian outbound 30c9f5e988c5:v175"); Fri, 22 Sep 2023 14:35:39 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d562621389d5e229 X-CR-MTA-TID: 64aa7808 X-Received: from f9d47e0bd2da.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 29EAAF4D-9B96-4BEA-AF50-DC344D1ED2C7.1; Fri, 22 Sep 2023 14:35:28 +0000 X-Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f9d47e0bd2da.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 22 Sep 2023 14:35:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DvIn0y1q/rEISFytZGPBPKsqrn9T/sedbhvvg98V8uSKXhrPnkYDTH+etsTUWc1oy/cNUXNH+ohr6E2MVXj1C6aQOvir1ULl8KrbD7yKZUm5NYhw5pGLuhd3LeWNrLBc3v2d3s4WJopCxlD2MPCZJOyTRBB6dJYFI+jnd/H/A61eVOaOd0XjFpj1OBeJ087z/6jZEge/vokhIF/CFnbANz4trrkEKBWHPN2p8hdJ/1zJh7fCgM+3Boy7ua2lHTl9MtGbOETpSjA9eHlasjqgPeP+++6sByxSE3jhaaxjoudvreCRrg5YYttWss4hOVk0Lh2KsU8DCAUqa6wL05+nTw== 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=oj0kF901/HDpXY+nd8ZGdoTYf7bKNQolZFrPp5dqcYw=; b=PYb0yXGu/zGNYdIBcCZgFzyqbZWONQKk2VNvlXaysEby8iav2Dso2YAqRMjUbGB5eIb0K9yNmpfAB/QyD9Ltckcu2IvvJvxzw9/v8NZ2tNUkMxxmFBXd5aNk+RIfWG6SqZgu1t+eHumQUbL3lIda6fZropmcfNTo45yoTIj67ZpWXrEIrnlOt2eYho5k2OYgwuSAKS4M1at5vKrlXT6kxmQBVUJzpO1h4uVWN2gqifw3PTcjBZYP4V56DxsFrr/h8bAf2crN7ZucbfYGGbpnmzJkD8z7Q28A+pLlNgFBi3JfzWOeR3aKG/LlM+vNdLsmO4LZs7uEywZ83nL2viThBg== 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 DUZPR01CA0289.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b7::20) by DBAPR08MB5768.eurprd08.prod.outlook.com (2603:10a6:10:1b1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Fri, 22 Sep 2023 14:35:22 +0000 X-Received: from DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4b7:cafe::7e) by DUZPR01CA0289.outlook.office365.com (2603:10a6:10:4b7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.32 via Frontend Transport; Fri, 22 Sep 2023 14:35:22 +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; pr=C X-Received: from nebula.arm.com (40.67.248.234) by DBAEUR03FT043.mail.protection.outlook.com (100.127.143.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6838.14 via Frontend Transport; Fri, 22 Sep 2023 14:35:22 +0000 X-Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 22 Sep 2023 14:35:20 +0000 X-Received: from E114225.Arm.com (10.1.196.36) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.27 via Frontend Transport; Fri, 22 Sep 2023 14:35:19 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , Subject: [edk2-devel] [PATCH v3 05/13] DynamicTablesPkg: Update MADT generator for ACPI 6.5 Date: Fri, 22 Sep 2023 15:35:08 +0100 Message-ID: <20230922143516.4764-6-sami.mujawar@arm.com> In-Reply-To: <20230922143516.4764-1-sami.mujawar@arm.com> References: <20230922143516.4764-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT043:EE_|DBAPR08MB5768:EE_|AM7EUR03FT062:EE_|PAWPR08MB9712:EE_ X-MS-Office365-Filtering-Correlation-Id: b8ce827d-c842-4ff4-0350-08dbbb79317f 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: GaL4SWEzvWguThnu1Vy3AccIxugA4Fh5VRN2qZZoQZZHyqLJ+RqhyyBIMKCvR5h/MNfBLyekQ55A7GBNHNIu2HtMLwPN5vukUb7i9wCYjSMRO3LorIucCzkUnI2nH4TsioJpA04hRkiCYBdAC3stNDj9xTyh56Tu7IV1kiAe84eTBobbbJMIiLY2Vv4SCb5W6UNkydPHdh2yO2fKhgQfHFB715+9PfLScX3uw2x8Sz45A5GGYxxiatthesqtP9nV/WnWYXzLI/pZj+6EZhBhdjOKjL3PYuu/WmEs1VgjqlJSdb5F14EZswdEfGGrcvgnCUSnjD8ijTgmYs8vdHkQjmKiSUB5BTKsPu/bEwid24LHxtUNks2g198rKz+Jrq6dzi8mp7hJDGSQl/2qzcdwbk0N6hXHTajHLv+QD9bhTZGE19wE5YAGEkGXqocG9su7XzxaqSAtE2nh2KfMcjkQsV8he02ivp+0Mm3Vo1r9zVy4qO0/1Ht2erZwtE93RcK+mA+QTwjnnNwJ2pnBiduSLu9uSrYQumIky8myUyI62JTGwa6aiGRWjPhxjJstBMyGi9vhgZEr0TnnP+QwA9Z3GXXNM2706QxAN1sBXoHAow0QlPyY1RivhFIkXebJktEitoOlDbf6oTAnfRei/AwHluQWGO3vzpVjek9iNpoCdBHnENvGRywzaKdIWHKOIdzbHuQ8p/A5EIOnBRXmV1MX8lz2MCBMajwFJI0j9JXsQ2EHLOmjsidlbLjpvqyUxshrpf1q+6Y0jJroP5ROLDSZQw== 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:(13230031)(4636009)(39850400004)(136003)(376002)(396003)(346002)(230921699003)(1800799009)(186009)(82310400011)(451199024)(36840700001)(46966006)(86362001)(478600001)(966005)(82740400003)(81166007)(7696005)(6666004)(426003)(1076003)(2616005)(47076005)(36756003)(26005)(83380400001)(356005)(336012)(36860700001)(70586007)(6916009)(54906003)(70206006)(4326008)(316002)(2906002)(40480700001)(15650500001)(30864003)(5660300002)(41300700001)(8676002)(8936002)(44832011)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5768 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b6c83f77-714a-4b3e-0b18-08dbbb7926fd X-Microsoft-Antispam-Message-Info: DIQvfxSkdOAyarL0nc0axcCJnzar4kqOwNdauyQX5bUU+nsVz+RWuWV4n7BsSj8KF/ds69zO3Kj+Gpoh9dKZjk78oR5NsRGC3zOD046cRWPOYWm7YhYdYoCRi/J4yAa50ehcEhpM+QBuzsBIqHX5V+P6cxeEsBnfu6ZEPI8zpVPuQMzwMJJWtLd8V3AsU5OXbohoMVaDdW+vkAC1wWT4ZznCBNNVMTBH9JpRkjxWGt+9pEP3lZbCcVrfdcdm7nIb6YbQuyYL8NPhaoVO5PiNeWwVH3uX31fMo8QxV3I2t/tSiP2u9v5ZxMUdT960pTJiBrGT1ADgIu0NvCZM3ZQM2RdWLccfcpjxsSq0lkhndsk/UxWLiZRsc593GUjCkq59A1WhkctuR5/NW4+6bvFM7H87Wuc8Rb1wbxVpZSX78X2+HUb9rXec75RASp2QN/HcWRPkSo70iFYGYO6uoaPdMNcwpFhVZwZ3vHMfe0uOgzmVQVAXjNFHdBd4sZz3oGCyhh0YUUcLxg3RG0bGtgmSvEja+TEN/OpBKC5wWX/6uj12OcP+fGtcn4GyQ4dk+s1QKa2K3+feZJDLGSgyzhiqiYczf4RRlsTM/5CT45ll3ymWz5bm4u+d633lZEYHTV3G+8YR2mGq7hHUI2kNYice0UnlVPxAk/3Zake9LtOssvyxso5S49peJ952T+0SYfj0VpYsAytWaMdbUz5symIDM2pwTnLPo+0myFoKbTpSsKir4Lk5dgARgXJ/33Ho5C81VA3co9S9rfst5eCKVv5nmQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2023 14:35:39.8120 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b8ce827d-c842-4ff4-0350-08dbbb79317f 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: AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9712 Precedence: Bulk 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 List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: RXz9ZAhGaTQpuUfR8sV6KmAax7686176AA= Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="ktrkMe/V"; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") The ACPI 6.5 specification updates the MADT table to add a new field to GICC for specifying the TRBE interrupt and also adds support for Online Capable flag to the GICC flags. The Online Capable flags should be passed transparently through as specified in the CM_ARM_GICC_INFO.Flags field and only require the MADT table revision to be setup to 6 to reflect the ACPI 6.5 specification. The TRBE field needs to be appropriately setup in the GICC structure. Therefore, update the MADT generator to reflect the above updates required for supporting ACPI 6.5 Signed-off-by: Sami Mujawar --- Notes: v3: - Setting TRBE interrupt to 0 for ACPI 6.4 is [Pierre] not required as the MADT table is zero allocated. - Removed superfluous initialisation of TRBE interrupt [Sami] field for ACPI 6.4. v2: - TRBE interrupt not set correctly for ACPI 6.4 [Jeshua] - Fixed issue with setting TRBE interrupt [Sami] Ref: https://edk2.groups.io/g/devel/message/107427 v2: - TRBE interrupt not set correctly for ACPI 6.4 [Jeshua] - Fixed issue with setting TRBE interrupt [Sami] Ref: https://edk2.groups.io/g/devel/message/107427 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 79 +++++++++++--------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c index 2102a59faf498eaab7777c509443461ada999610..df8734ed7f51087c75cfe99ea31dbf0b1aea87d0 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c @@ -1,11 +1,11 @@ /** @file MADT Table Generator - Copyright (c) 2017 - 2020, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2023, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @par Reference(s): - - ACPI 6.3 Specification - January 2019 + - ACPI 6.5 Specification - Aug 29, 2022 **/ @@ -82,7 +82,7 @@ GET_OBJECT_LIST ( ); /** This function updates the GIC CPU Interface Information in the - EFI_ACPI_6_3_GIC_STRUCTURE structure. + EFI_ACPI_6_5_GIC_STRUCTURE structure. @param [in] Gicc Pointer to GIC CPU Interface structure. @param [in] GicCInfo Pointer to the GIC CPU Interface Information. @@ -91,7 +91,7 @@ GET_OBJECT_LIST ( STATIC VOID AddGICC ( - IN EFI_ACPI_6_3_GIC_STRUCTURE *CONST Gicc, + IN EFI_ACPI_6_5_GIC_STRUCTURE *CONST Gicc, IN CONST CM_ARM_GICC_INFO *CONST GicCInfo, IN CONST UINT8 MadtRev ) @@ -100,9 +100,9 @@ AddGICC ( ASSERT (GicCInfo != NULL); // UINT8 Type - Gicc->Type = EFI_ACPI_6_3_GIC; + Gicc->Type = EFI_ACPI_6_5_GIC; // UINT8 Length - Gicc->Length = sizeof (EFI_ACPI_6_3_GIC_STRUCTURE); + Gicc->Length = sizeof (EFI_ACPI_6_5_GIC_STRUCTURE); // UINT16 Reserved Gicc->Reserved = EFI_ACPI_RESERVED_WORD; @@ -148,6 +148,11 @@ AddGICC ( // in EFI_ACPI_6_2_GIC_STRUCTURE. Gicc->SpeOverflowInterrupt = 0; } + + // UINT16 TrbeInterrupt + if (MadtRev > EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION) { + Gicc->TrbeInterrupt = GicCInfo->TrbeInterrupt; + } } /** @@ -214,7 +219,7 @@ IsAcpiUidEqual ( STATIC EFI_STATUS AddGICCList ( - IN EFI_ACPI_6_3_GIC_STRUCTURE *Gicc, + IN EFI_ACPI_6_5_GIC_STRUCTURE *Gicc, IN CONST CM_ARM_GICC_INFO *GicCInfo, IN UINT32 GicCCount, IN CONST UINT8 MadtRev @@ -252,7 +257,7 @@ AddGICCList ( STATIC VOID AddGICD ( - EFI_ACPI_6_3_GIC_DISTRIBUTOR_STRUCTURE *CONST Gicd, + EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE *CONST Gicd, CONST CM_ARM_GICD_INFO *CONST GicDInfo ) { @@ -260,9 +265,9 @@ AddGICD ( ASSERT (GicDInfo != NULL); // UINT8 Type - Gicd->Type = EFI_ACPI_6_3_GICD; + Gicd->Type = EFI_ACPI_6_5_GICD; // UINT8 Length - Gicd->Length = sizeof (EFI_ACPI_6_3_GIC_DISTRIBUTOR_STRUCTURE); + Gicd->Length = sizeof (EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE); // UINT16 Reserved Gicd->Reserved1 = EFI_ACPI_RESERVED_WORD; // UINT32 Identifier @@ -289,15 +294,15 @@ AddGICD ( STATIC VOID AddGICMsiFrame ( - IN EFI_ACPI_6_3_GIC_MSI_FRAME_STRUCTURE *CONST GicMsiFrame, + IN EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE *CONST GicMsiFrame, IN CONST CM_ARM_GIC_MSI_FRAME_INFO *CONST GicMsiFrameInfo ) { ASSERT (GicMsiFrame != NULL); ASSERT (GicMsiFrameInfo != NULL); - GicMsiFrame->Type = EFI_ACPI_6_3_GIC_MSI_FRAME; - GicMsiFrame->Length = sizeof (EFI_ACPI_6_3_GIC_MSI_FRAME_STRUCTURE); + GicMsiFrame->Type = EFI_ACPI_6_5_GIC_MSI_FRAME; + GicMsiFrame->Length = sizeof (EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE); GicMsiFrame->Reserved1 = EFI_ACPI_RESERVED_WORD; GicMsiFrame->GicMsiFrameId = GicMsiFrameInfo->GicMsiFrameId; GicMsiFrame->PhysicalBaseAddress = GicMsiFrameInfo->PhysicalBaseAddress; @@ -316,7 +321,7 @@ AddGICMsiFrame ( STATIC VOID AddGICMsiFrameInfoList ( - IN EFI_ACPI_6_3_GIC_MSI_FRAME_STRUCTURE *GicMsiFrame, + IN EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE *GicMsiFrame, IN CONST CM_ARM_GIC_MSI_FRAME_INFO *GicMsiFrameInfo, IN UINT32 GicMsiFrameCount ) @@ -337,15 +342,15 @@ AddGICMsiFrameInfoList ( STATIC VOID AddGICRedistributor ( - IN EFI_ACPI_6_3_GICR_STRUCTURE *CONST Gicr, + IN EFI_ACPI_6_5_GICR_STRUCTURE *CONST Gicr, IN CONST CM_ARM_GIC_REDIST_INFO *CONST GicRedistributorInfo ) { ASSERT (Gicr != NULL); ASSERT (GicRedistributorInfo != NULL); - Gicr->Type = EFI_ACPI_6_3_GICR; - Gicr->Length = sizeof (EFI_ACPI_6_3_GICR_STRUCTURE); + Gicr->Type = EFI_ACPI_6_5_GICR; + Gicr->Length = sizeof (EFI_ACPI_6_5_GICR_STRUCTURE); Gicr->Reserved = EFI_ACPI_RESERVED_WORD; Gicr->DiscoveryRangeBaseAddress = GicRedistributorInfo->DiscoveryRangeBaseAddress; @@ -361,7 +366,7 @@ AddGICRedistributor ( STATIC VOID AddGICRedistributorList ( - IN EFI_ACPI_6_3_GICR_STRUCTURE *Gicr, + IN EFI_ACPI_6_5_GICR_STRUCTURE *Gicr, IN CONST CM_ARM_GIC_REDIST_INFO *GicRInfo, IN UINT32 GicRCount ) @@ -382,15 +387,15 @@ AddGICRedistributorList ( STATIC VOID AddGICInterruptTranslationService ( - IN EFI_ACPI_6_3_GIC_ITS_STRUCTURE *CONST GicIts, + IN EFI_ACPI_6_5_GIC_ITS_STRUCTURE *CONST GicIts, IN CONST CM_ARM_GIC_ITS_INFO *CONST GicItsInfo ) { ASSERT (GicIts != NULL); ASSERT (GicItsInfo != NULL); - GicIts->Type = EFI_ACPI_6_3_GIC_ITS; - GicIts->Length = sizeof (EFI_ACPI_6_3_GIC_ITS_STRUCTURE); + GicIts->Type = EFI_ACPI_6_5_GIC_ITS; + GicIts->Length = sizeof (EFI_ACPI_6_5_GIC_ITS_STRUCTURE); GicIts->Reserved = EFI_ACPI_RESERVED_WORD; GicIts->GicItsId = GicItsInfo->GicItsId; GicIts->PhysicalBaseAddress = GicItsInfo->PhysicalBaseAddress; @@ -407,7 +412,7 @@ AddGICInterruptTranslationService ( STATIC VOID AddGICItsList ( - IN EFI_ACPI_6_3_GIC_ITS_STRUCTURE *GicIts, + IN EFI_ACPI_6_5_GIC_ITS_STRUCTURE *GicIts, IN CONST CM_ARM_GIC_ITS_INFO *GicItsInfo, IN UINT32 GicItsCount ) @@ -470,7 +475,7 @@ BuildMadtTable ( UINT32 GicRedistOffset; UINT32 GicItsOffset; - EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *Madt; + EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *Madt; ASSERT (This != NULL); ASSERT (AcpiTableInfo != NULL); @@ -602,22 +607,22 @@ BuildMadtTable ( goto error_handler; } - TableSize = sizeof (EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER); + TableSize = sizeof (EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER); GicCOffset = TableSize; - TableSize += (sizeof (EFI_ACPI_6_3_GIC_STRUCTURE) * GicCCount); + TableSize += (sizeof (EFI_ACPI_6_5_GIC_STRUCTURE) * GicCCount); GicDOffset = TableSize; - TableSize += (sizeof (EFI_ACPI_6_3_GIC_DISTRIBUTOR_STRUCTURE) * GicDCount); + TableSize += (sizeof (EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE) * GicDCount); GicMSIOffset = TableSize; - TableSize += (sizeof (EFI_ACPI_6_3_GIC_MSI_FRAME_STRUCTURE) * GicMSICount); + TableSize += (sizeof (EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE) * GicMSICount); GicRedistOffset = TableSize; - TableSize += (sizeof (EFI_ACPI_6_3_GICR_STRUCTURE) * GicRedistCount); + TableSize += (sizeof (EFI_ACPI_6_5_GICR_STRUCTURE) * GicRedistCount); GicItsOffset = TableSize; - TableSize += (sizeof (EFI_ACPI_6_3_GIC_ITS_STRUCTURE) * GicItsCount); + TableSize += (sizeof (EFI_ACPI_6_5_GIC_ITS_STRUCTURE) * GicItsCount); // Allocate the Buffer for MADT table *Table = (EFI_ACPI_DESCRIPTION_HEADER *)AllocateZeroPool (TableSize); @@ -633,7 +638,7 @@ BuildMadtTable ( goto error_handler; } - Madt = (EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *)*Table; + Madt = (EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *)*Table; DEBUG (( DEBUG_INFO, @@ -659,7 +664,7 @@ BuildMadtTable ( } Status = AddGICCList ( - (EFI_ACPI_6_3_GIC_STRUCTURE *)((UINT8 *)Madt + GicCOffset), + (EFI_ACPI_6_5_GIC_STRUCTURE *)((UINT8 *)Madt + GicCOffset), GicCInfo, GicCCount, Madt->Header.Revision @@ -674,13 +679,13 @@ BuildMadtTable ( } AddGICD ( - (EFI_ACPI_6_3_GIC_DISTRIBUTOR_STRUCTURE *)((UINT8 *)Madt + GicDOffset), + (EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE *)((UINT8 *)Madt + GicDOffset), GicDInfo ); if (GicMSICount != 0) { AddGICMsiFrameInfoList ( - (EFI_ACPI_6_3_GIC_MSI_FRAME_STRUCTURE *)((UINT8 *)Madt + GicMSIOffset), + (EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE *)((UINT8 *)Madt + GicMSIOffset), GicMSIInfo, GicMSICount ); @@ -688,7 +693,7 @@ BuildMadtTable ( if (GicRedistCount != 0) { AddGICRedistributorList ( - (EFI_ACPI_6_3_GICR_STRUCTURE *)((UINT8 *)Madt + GicRedistOffset), + (EFI_ACPI_6_5_GICR_STRUCTURE *)((UINT8 *)Madt + GicRedistOffset), GicRedistInfo, GicRedistCount ); @@ -696,7 +701,7 @@ BuildMadtTable ( if (GicItsCount != 0) { AddGICItsList ( - (EFI_ACPI_6_3_GIC_ITS_STRUCTURE *)((UINT8 *)Madt + GicItsOffset), + (EFI_ACPI_6_5_GIC_ITS_STRUCTURE *)((UINT8 *)Madt + GicItsOffset), GicItsInfo, GicItsCount ); @@ -764,9 +769,9 @@ ACPI_TABLE_GENERATOR MadtGenerator = { // Generator Description L"ACPI.STD.MADT.GENERATOR", // ACPI Table Signature - EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, // ACPI Table Revision supported by this Generator - EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION, + EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION, // Minimum supported ACPI Table Revision EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION, // Creator ID -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109004): https://edk2.groups.io/g/devel/message/109004 Mute This Topic: https://groups.io/mt/101522272/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-