From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.86]) by mx.groups.io with SMTP id smtpd.web12.5123.1657107628825259945 for ; Wed, 06 Jul 2022 04:40:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=K4ZSaG9U; spf=pass (domain: arm.com, ip: 40.107.21.86, mailfrom: sami.mujawar@arm.com) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Cw1Hbckne+w89ODToP8LjaBosLRgWCK7tCkgmSbibjAjWuEmQwchL1m0pXhnVz8hPjSQU3pWw64YDcHxuo8KMbNAhoV5C+OLYWHGD7xxHU+YshXNLpfWv2QD+HtK3fihWvne4gsfXtnIqAoZb2LIUFxB7y2DsiVjCrHKN2lEqo0H55fJHK+krgtJrjT3B2y99dEjj0B2/dzw49+qB/bunPGbCFRzTMSVFRd5r4vL0JNjPNYsqW++at4Cuc+qBHhEy+FsA0N5lsOJ2n9Y2WNmLrnDKnpVqZPZgJPoOtRZ+HPY7yhbKyWnvOkDUaQHAVJKMKwIUAIcByn/PfquujcDhg== ARC-Message-Signature: i=2; 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=JE00iQWtKjMoGDUydYWXLpZRYDtTbNRtTZJUFPn1xFI=; b=YJGML3UosAtsx300erWPhROs2gdV82yFif8UbrJ8lMngW3sXnWkhXtuLCNyjVhl6hGcZb4DSlmrM01zWQyFvaWc7vjWKobXLXDAHl1xnNfWomRyFI8dStC1KtzpAnWeexZqHazLBh+Z4nEW3aC/SjXDoL2Y/mOCN/YtYXEuIK3KiUariR2dOycpMzF2kw+ne1KpMIGEIr8QF9/uW5tcKn5WJBsQKJt/E/o9JXkGlvYaiSOWBNeoovRBHS+jkFNvya9PYMF4uV/3MhG/MX11kw/UBAmLvorOlMIhPaF9Fmu4NKHYgaFiZmcI98hUjeh7OXFhnM0Qgr6iswApD0TmzsQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=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=JE00iQWtKjMoGDUydYWXLpZRYDtTbNRtTZJUFPn1xFI=; b=K4ZSaG9U6FYRL5gyltkJ4xFsY2oql/6ZU1K1hKD4WCAB1BUWgfkw3oIfp7nG0bqisSqjCVir/wUeBl7Wild2lz21CMngSmnW3T1gntGRE1r9+fA+aj18bbdLfGUaVo15/a6Pi2kaYrq8XYgojx29Y6fpPm4GHUEqJEZuz8tSBsU= Received: from FR3P281CA0068.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::15) by DB9PR08MB7625.eurprd08.prod.outlook.com (2603:10a6:10:309::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.19; Wed, 6 Jul 2022 11:40:25 +0000 Received: from VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:4b:cafe::26) by FR3P281CA0068.outlook.office365.com (2603:10a6:d10:4b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.11 via Frontend Transport; Wed, 6 Jul 2022 11:40:25 +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 VE1EUR03FT055.mail.protection.outlook.com (10.152.19.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15 via Frontend Transport; Wed, 6 Jul 2022 11:40:24 +0000 Received: ("Tessian outbound 6f9e7ef31fa8:v122"); Wed, 06 Jul 2022 11:40:24 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 30aa6211af16e1c6 X-CR-MTA-TID: 64aa7808 Received: from e5f327a13cf1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BB9AED1F-EEA8-4230-841C-7140E829FDC3.1; Wed, 06 Jul 2022 11:40:17 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5f327a13cf1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 06 Jul 2022 11:40:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fmnsnnnkqkycbe9DllqKqNSTvRj7gRoSqWuymK854+fGDhNcJaQtcu0pm40EXZIM9QiaL7ptvIlyBROBvUTaau94ijbLtd9lpnyzzjaYyntVfg1Ozq5wq28wNKcwpR9/1yp293qdVxMTDM0nHVyW/URXGfXUA+ia67CTKmK/q3nAu+YMtLaJ9xWc8kE8tyR3I2bA6Gh4//lb9ncoRoLXjP617U3X/9R54LOMMA5OP0LHWI9E787Q8LG7R0MjwGiMn7R6oNiEb9Pzu5Q8CtDzyzOS7OxmSBqqSntDE7qVIwkeiZ+2FNxPux7upvXPunWRWJcy0SLcK7NnEIkp57T9OQ== 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=JE00iQWtKjMoGDUydYWXLpZRYDtTbNRtTZJUFPn1xFI=; b=hR8B4f9jwR9ZhjuSC/4c54fYF/WSy+wSvVJbkJGyhIkS6eiN2FFrZepQbBZsPwJNsd0bbHNClphCYVZ/BsISTOOw4d0e0Som48MlVLZaup16u629rOnqsSLJHmSuWJg3ejf6CbfugyfVWYfZpqPwHOv7AMoB+50Mda9S5tepXsAagyRt7XW698QnDAEQTIA5VcKf50ekkwnX2KHKN0oMxQX2PJhLnZFYrP9Ls0bKNRwI7skdv+R+fLNSibu8UWnZMnUyPqMrXkcSvnZM1iFLXU4k/+lqY4BA32REiiJ5YNn0GlUX6O7Kgz1DKIhqrZ21GhKe/zIfjQ4CpXl8UZAypA== 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=JE00iQWtKjMoGDUydYWXLpZRYDtTbNRtTZJUFPn1xFI=; b=K4ZSaG9U6FYRL5gyltkJ4xFsY2oql/6ZU1K1hKD4WCAB1BUWgfkw3oIfp7nG0bqisSqjCVir/wUeBl7Wild2lz21CMngSmnW3T1gntGRE1r9+fA+aj18bbdLfGUaVo15/a6Pi2kaYrq8XYgojx29Y6fpPm4GHUEqJEZuz8tSBsU= Received: from AM5PR0101CA0022.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::35) by AM0PR08MB4145.eurprd08.prod.outlook.com (2603:10a6:208:133::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Wed, 6 Jul 2022 11:40:14 +0000 Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:16:cafe::d2) by AM5PR0101CA0022.outlook.office365.com (2603:10a6:206:16::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15 via Frontend Transport; Wed, 6 Jul 2022 11:40:14 +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 Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5417.15 via Frontend Transport; Wed, 6 Jul 2022 11:40:14 +0000 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.9; Wed, 6 Jul 2022 11:40:10 +0000 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.9 via Frontend Transport; Wed, 6 Jul 2022 11:40:10 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , , Subject: [PATCH v1 1/1] DynamicTablesPkg: Add support to specify FADT minor revision Date: Wed, 6 Jul 2022 12:40:09 +0100 Message-ID: <20220706114009.26492-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.16.2.windows.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 1af7a25a-08d4-46ab-0869-08da5f4450ed X-MS-TrafficTypeDiagnostic: AM0PR08MB4145:EE_|VE1EUR03FT055:EE_|DB9PR08MB7625:EE_ X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr 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: BdbCEXc62OUrSsOeIHKARVDonnQQoY0OC76coZo4qxftchOvJyJe0z+YSSHS+xizGxzDDDCqc6ENw9SYwoP0jW/UiHDURI3EJ1MaIGKER96cJ6RlPe5y/iJlcRAjVwUW8m3nnb2auwbT7e4z1oCZaxkb9hw7AmMgwvaynrruzRkuqnpBXHh4CS0YeFWeXQ56ReFUGPTDVYbvkdpW6dHEuKVqSqqM+WfIdJYH/dyZpSH7disHs7zRzteMAsOT14WbvqWS8jW5pAVkKLrLQ70KXcWqdZZHd9CIP/JgqnVOwQh6txH3Pr+8Jt7VfY/6P3hJ0uLlEpakfBosVzLqiZPfbSaew+Jl+QDdW6BByNdlYMdTCnWQsIW/PBue+qDbf3MKcQgFR+Ytw1ehMVs/2BL6QAQPgPYlTI5k4A1+otZ9HRPKOzTpcjx/Ot98oOtBGGNYjj0rZzYYkdGi41WnqxOnusLgqvRLwVPLEi5/Q+fVc1SECirrSMl42bRxM3ztezZH32qU176TrnJaN2oBQrl5dfCACT+6ZYb068+804WvbOr2RfinulMJUWcIVr1YwsJWKEeI2PejVbcS/9J+jYwoWI64v8wLHY+Gd7TrlWru+dsB1veScbRVOtQJxOR+cfO8812kWG/oNGrkgHJ6xdRrGZy5tcYTQ2LhKPv+TGJ27IyxogKsTDw4RlhXRiUjY4JQsNCfThtZMZSDIoM8ITxuKsgYBC6mUP3Fo+YNzJpyDY/crz9Z3lL8N82PVm7EFP85pYBdeJsPcp52rRSG9aYdYsUXouH1j+MGyFofrcqxTGysrfIPY14f2nQQCvqAoDXdaIlMEuBh/Xi7HoMtwWEUkh4AKmMgX+xoMdcqZXEtI1TgIykJKBC+mHEctNxtkWF3 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:(13230016)(4636009)(39860400002)(396003)(346002)(376002)(136003)(40470700004)(46966006)(36840700001)(8936002)(81166007)(426003)(5660300002)(54906003)(70206006)(70586007)(4326008)(41300700001)(86362001)(82310400005)(6916009)(316002)(356005)(36860700001)(186003)(47076005)(26005)(36756003)(7696005)(2616005)(40460700003)(2906002)(40480700001)(8676002)(966005)(44832011)(336012)(1076003)(82740400003)(83380400001)(478600001)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4145 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2a15aede-8b27-48ae-68d3-08da5f444b0a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F253GohLMHw1+PToaFEL6HYE2ChSzvRM0MgiSjCpLY9t80aIQ8OUV2rp+G4P+klTExAvQ00EmoobD48N8l5ZfedAA+nY0KhXpV+pyqnlaYXRaOOYIseh0oTAaTjjRCcMW1dVGuGSGla956rHwbUFa7dHE9mWlDOfxm4XNpd+uF9wEQYbACEnFl9FoujMut0BcEn+BUgYni0539LHfY3mw3cqutpUxti+OK7n6tawJdMT7/ExDfjJ0rwSgMoq6JyZtyG+A00ElSwxBVaD8PtbVWsyJn7eAg6yFnD2f94IGlBR+L5RcsfF1d7xbqfvS1iokTvhcKyi7w5Zh3ExG2aRcXwPr/j2RVfGiKx2r3Evp4f678zPKbDyfpsUG0KXXO0a53BhCqcMbAgM++s9P6Hw2qQXV22rfzmiWyGMrv5XsgxS9yp/saD4Cws4EGS2aEvBuPbtmeUI406s8xQx+qD8TIRWPVSklatMQDCoR4wP8DzPfYdY3FdBvwF0W6VF7j5CPLHonilfG+amjcvcS/H6kwmMMyYLUTq+u6U3fLJEZ+VT+8mn6QRbWY/p1JSweKNnNHfdBhDap3w7rL/4W7pEmUQtb4vtP4/pMVHBT29mj5ruIUajtUmbJuxEMGDedHCaOrl+rcjw/4i7LRr/wpBvb9ubpBTEAKVUGc59qloRazwnjrlFCDmqY0V9kWMVsXna6l47IXkzwqO2TRUGE/ARFFs4WIKx7/CVNYn2eNBf7+j2Z86iO0EaEAQFDiQwkQE6wevAEoY9tgRDb3e9+BN8WhdzCO3UHEBa55XIUy2F3TlVH/z4hecJBr7CJxW7leU2YUoJgfhgP9P9OFKB3vOoiIIQW3SiUxRtmsR2uGhIumA= 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:(13230016)(4636009)(39860400002)(346002)(396003)(136003)(376002)(36840700001)(40470700004)(46966006)(40460700003)(70206006)(316002)(70586007)(54906003)(4326008)(8676002)(82310400005)(966005)(1076003)(2616005)(478600001)(5660300002)(36756003)(41300700001)(6916009)(186003)(26005)(2906002)(47076005)(426003)(44832011)(336012)(7696005)(83380400001)(81166007)(40480700001)(82740400003)(86362001)(36860700001)(8936002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2022 11:40:24.5444 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1af7a25a-08d4-46ab-0869-08da5f4450ed 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: VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7625 Content-Type: text/plain The CM_STD_OBJ_ACPI_TABLE_INFO.AcpiTableRevision can be used to specify the major revision number of the ACPI table that the generator must use. Although most ACPI tables only have a major revision number, the FADT table additionally has a minor revision number. The FADT generator currently defaults to setting the latest supported ACPI revision for the FADT table i.e. ACPI 6.4. This means that the minor revision for the FADT table is always set to 4 and there is no provision for a user to specify the minor revision to be selected. Therefore, update CM_STD_OBJ_ACPI_TABLE_INFO to introduce a new field MinorRevision which can be used to specify the minor revision for an ACPI table. Also update the FADT generator to validate the supported FADT revisions ans use the specified minor revision for the FADT table if supported. If an unsupported minor revision is specified the FADT generator defaults to the latest supported minor revision. Since the CM_STD_OBJ_ACPI_TABLE_INFO.MinorRevision field is added to the end of the structure, it should not break existing platform code. Signed-off-by: Sami Mujawar --- The changes can be seen at: https://github.com/samimujawar/edk2/tree/2221_support_fadt_minor_rev_v1 DynamicTablesPkg/Include/StandardNameSpaceObjects.h | 10 ++++++- DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 29 ++++++++++++++++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h index 8d0c7da15a73e4910f9099c68f6e5cc2f06c0ecb..8ec3238225abe4fc16a7337c29ecd655590b408f 100644 --- a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2017 - 2019, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2022, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -105,6 +105,14 @@ typedef struct CmAStdObjAcpiTableInfo { /// Generators shall populate this information using the revision of the /// Configuration Manager (CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.Revision). UINT32 OemRevision; + + /// The minor revision of an ACPI table if required by the table. + /// Note: If this field is not populated (has value of Zero), then the + /// Generators shall populate this information based on the latest minor + /// revision of the table that is supported by the generator. + /// e.g. This field can be used to specify the minor revision to be set + /// for the FADT table. + UINT8 MinorRevision; } CM_STD_OBJ_ACPI_TABLE_INFO; /** A structure used to describe the SMBIOS table generators to be invoked. diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c index 96295f539fb0505378e862edeef898be40257cdd..1d10ea55e2395c55291faa3c247e5c59e345650c 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c @@ -1,7 +1,7 @@ /** @file FADT Table Generator - Copyright (c) 2017 - 2021, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2022, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @par Reference(s): @@ -167,7 +167,7 @@ EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = { // UINT16 ArmBootArch EFI_ACPI_6_4_ARM_PSCI_COMPLIANT, // {Template}: ARM Boot Architecture Flags // UINT8 MinorRevision - EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // {Template} // UINT64 XFirmwareCtrl 0, // UINT64 XDsdt @@ -546,6 +546,31 @@ BuildFadtTable ( goto error_handler; } + // Update the MinorRevision for the FADT table if it has been specified + // otherwise default to the latest FADT minor revision supported. + // Note: + // Bits 0-3 - The low order bits correspond to the minor version of the + // specification version. + // Bits 4-7 - The high order bits correspond to the version of the ACPI + // specification errata. + if (AcpiTableInfo->MinorRevision != 0) { + if (((AcpiTableInfo->MinorRevision & 0xF) >= + EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION) && + ((AcpiTableInfo->MinorRevision & 0xF) <= + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION)) + { + AcpiFadt.MinorVersion = AcpiTableInfo->MinorRevision; + } else { + DEBUG (( + DEBUG_WARN, + "WARNING: FADT: Unsupported FADT Minor Revision 0x%x specified, " \ + "defaulting to FADT Minor Revision 0x%x\n", + AcpiTableInfo->MinorRevision, + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION + )); + } + } + // Update PmProfile Info Status = FadtAddPmProfileInfo (CfgMgrProtocol); if (EFI_ERROR (Status)) { -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'