From nobody Mon Feb 9 19:08:01 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+103563+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 1682438707277994.3024498837358; Tue, 25 Apr 2023 09:05:07 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id RhsuYY1788612xRLXevcsn4y; Tue, 25 Apr 2023 09:05:06 -0700 X-Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.74]) by mx.groups.io with SMTP id smtpd.web11.83458.1682438703700974597 for ; Tue, 25 Apr 2023 09:05:04 -0700 X-Received: from AS9PR07CA0002.eurprd07.prod.outlook.com (2603:10a6:20b:46c::20) by DBBPR08MB6204.eurprd08.prod.outlook.com (2603:10a6:10:1f5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Tue, 25 Apr 2023 16:04:59 +0000 X-Received: from AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46c:cafe::37) by AS9PR07CA0002.outlook.office365.com (2603:10a6:20b:46c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.20 via Frontend Transport; Tue, 25 Apr 2023 16:04:59 +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+103563+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; pr=C X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT049.mail.protection.outlook.com (100.127.140.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.20 via Frontend Transport; Tue, 25 Apr 2023 16:04:59 +0000 X-Received: ("Tessian outbound 8b05220b4215:v136"); Tue, 25 Apr 2023 16:04:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0aab8001de07577a X-CR-MTA-TID: 64aa7808 X-Received: from a748b70d80e7.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7C71EF1F-6EAD-4633-9440-9926C055D3FB.1; Tue, 25 Apr 2023 16:04:53 +0000 X-Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a748b70d80e7.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 25 Apr 2023 16:04:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R1OtOXdBVd4YIjam/qv18KYeDoaOJ85QrOQNTKfVFvBs+8RT2IHe/U/gC1b9iWRrdC7Md7OKI6MXTu4OAOpfUf0SKTc5F15R1gDWhCcTbkPtBlV0Y2SKkhtbF6XRJ1kC1QbrmzDx081/QHEbMkhtKxPi4ZOoaWx4DggpJC2YAqhKN6o0oDiThzyEfPxlKttSvyN8RTTzVJH/NWyqvy7fuls+dYC2LEzop8CqEuO/Pa74vWIASm38uCr0kIKm/2bvvkGkyf+Pm5B+joYOnuT2/YW1EvcAU8SK+1hL/oo8HZ0xvlgXgqm7BBXDsjPnXq3A2jevPNt8lqthqRwuDY30Bw== 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=oTaRcYhnnuqSr3u1y9YeVNEw403lPfy3Q3ACiN+tsOY=; b=Fpc51WGUhFxunZreORh70efh0GrP3mDC5hKe5zDirIGpWiJSmUDeP7gz0e1ogwy51JqsvH/d33K3GBSvbmNhr5YbZmJeOmlL1amoM+LLcz3m7bjlHwJYUaT/eZgLnxkSAfKi2nNRocmCfTmQj9rJwA4eoXjgsxcpuOzZD4DcMKVR7OCEsFvIEj+rtYgyy3T7YbM1cks2mQ1nOefhZYnSKAh55VeD2+fxluFVYeZC+TBkI75Z0sCobUicJTFPToLe+vXMdgJv+8luq3KQkSHIyiaWtT/0U5MuYEPc0UIyiN3GOevbtQ0UFdrCJjyfN3fTvXJ+qOuGcVHC34hQIES6PQ== 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 DUZPR01CA0050.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::20) by AS8PR08MB9816.eurprd08.prod.outlook.com (2603:10a6:20b:613::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Tue, 25 Apr 2023 16:04:47 +0000 X-Received: from DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:469:cafe::c1) by DUZPR01CA0050.outlook.office365.com (2603:10a6:10:469::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33 via Frontend Transport; Tue, 25 Apr 2023 16:04:47 +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 DBAEUR03FT011.mail.protection.outlook.com (100.127.142.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6340.20 via Frontend Transport; Tue, 25 Apr 2023 16:04:47 +0000 X-Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) 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.2507.23; Tue, 25 Apr 2023 16:04:45 +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.23 via Frontend Transport; Tue, 25 Apr 2023 16:04:45 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , , Subject: [edk2-devel] [RFC PATCH v1 15/30] ArmVirtPkg: Add Null instance of ArmCcaLib Date: Tue, 25 Apr 2023 17:04:13 +0100 Message-ID: <20230425160428.27980-16-sami.mujawar@arm.com> In-Reply-To: <20230425160428.27980-1-sami.mujawar@arm.com> References: <20230425160428.27980-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT011:EE_|AS8PR08MB9816:EE_|AM7EUR03FT049:EE_|DBBPR08MB6204:EE_ X-MS-Office365-Filtering-Correlation-Id: 275d1a5e-6109-4196-8360-08db45a6d209 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: 22AEdU7r+KYfmrpDfSx//VOXAJeGGqjaO0rbE3K6/ocoAV8Nn8JwH5KRlKURJwmjgH4KDjalF3aBJEreZ3w0VY48o1RtJjiYa2EuvE8igDVu/q2fdBEgne0vLTQloyDpxB8PS3elcnkfhAh9LcPNsR9VMq7GgNXXstsyFKXZpySs5TZzqfT+2TE6o3zPD3dgAoT16JdRUCzUL2snxXenc6k1sq6m9ub2sLN4vYaXIrWWGYbOnqLaQF8D7YQCaTJQoN0PTPny9DgXuwdvA9qiOZMdipDFr1+ZlkFOoQIgivJ1DwAKbqw7qs5X1JMaEH09gf6Rilm/7jHF6LRPDVCO+BuJLo+wPrS8Xscg2lC8+8TscCol6JRNhpkeIH4yoZbGhHDGB1eSU5wmOUoNJZmyGKeQLSkUWuO9ewCRY9Q3Xi9sn2Ek9oRRQ5IuKYrXOZMvNo7FteuEDaOVweQas3iDwjaipSoJMNOfejl8Fa3UEI6xHVvUMgGTbSIMcWOZLZOf78XVZp0bBgU3c0fhDmTeEAPlqoJ/OzERLNPL4scm+fprAbxE3WSNpCvVNDR1GoeIp5jKVYqQyjckDjvOQcakgX4PTCCmm3yXzQrkJg6aG9U+1wmk5WbzwD1KVxLIFTf8b0GK2u0KgOP1OcFkh4DMLXGKm5RX+aN2Uz/DKQfVCu+GhOA2EGonER3CcC/90yqWT2YkTQYV9JM/1r1iEabt7CvIPX/EPsQQmkOS1WR3AOc= 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:(13230028)(4636009)(396003)(39860400002)(376002)(136003)(346002)(451199021)(36840700001)(46966006)(1076003)(26005)(40480700001)(426003)(336012)(2616005)(36756003)(34070700002)(83380400001)(36860700001)(47076005)(186003)(82740400003)(356005)(81166007)(70206006)(45080400002)(86362001)(70586007)(478600001)(6916009)(8676002)(8936002)(54906003)(44832011)(5660300002)(7696005)(41300700001)(2906002)(82310400005)(4326008)(6666004)(316002)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9816 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1a3ca798-f206-4ee8-f093-08db45a6caae X-Microsoft-Antispam-Message-Info: SKESkmvWDmYMmF+fNmw+0gInE0FQj+TwbNaZKi8iw2dxaNaru1RRdFHAN59kA1Q1qMcB1ZhZCpi73IEOVzO3H+++fd9BfhXzIT8cc1kttNW6nwpkR0wgBZ5b5tjHJEFqQx+Xt/1SC0ZPfzgv/KbNuH7/nXOQesFwK7sXdEQo3Cbs/BavKeNSNgpwAL/I6JfmYBh/ztCxIrJYgSSuA0ihXddTK8QZWd6Uyr6Ua3gUymmxWHZxw7mRi46oCy0wmqvKFc1eLVXxFS8FuCFzvSJA0Uww6jupnlbfuQseY65G9XWnjFhphDJULWB/UGQkMkrQa5e0QZUY0aJGIAvi+sB6DncVpBgvvE4UnIa+jKOrezAyWEAWR/sS0Wg/5FaF6GvWJvVnghJ9Hm7Vmk4WePlQRDmnrzbsUHjC2SGe5sLyrmepag4lR4epC0TLMWpof7LeG+N30MMx9Rf60YbFb2tRWMKwHx9h6vzes9iONF/7rIXWT9dFKqvTSWn6Ausqv9DDM0YuTOuUh0IkrG7gCYVPGfKlz6NAZ+NLcFil97+XV085TUaiZazmoGwm0rRXZBd4XJT6dfYbqrsy9j4VyBgWBb54DnVGQm3HLTL+lN9/O/cS9blrJOSEZnJ+SgPh/Y4lSc1zvXVObgD6TFCUsdCT/r/XRYNkS9w+hKIK51P+7Qc0pPYimIiJkOcjmVb8/Gk1ib+Elv/zsFlMBJwSYLQ3n8d3UNJmM7xQypsCOgu1qO4= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2023 16:04:59.3002 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 275d1a5e-6109-4196-8360-08db45a6d209 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: AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6204 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: N1APfxsgimaTz0TiNEnn2XFnx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1682438706; bh=01J01gTABXnolNn3guFyDqbTkrNb/o+qJqHeDr2Mr0Q=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=opR67APjr3lf5pK0LbRaT6RC68ZB8oG5AVothsNm0xaazDY8YWAbghMH3d8QV/2sBFx 9hvdvG8+oj4/EdWLG4DOcctLWs+yrZoOi8kTiz1OwAtQDkiewUfuW/l7qOLATCpLJR5WI aQkOBYEcZWiHP0PrAuNHM5Pxo33B9KLZ/NM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1682438709906100037 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a Null instance of ArmCcaLib so that guest firmware that does not support Arm CCA can link to this Null version of the library. Also include it in ArmVirt.dsc.inc so that it is linked for the non-Arm CCA firmware builds. Signed-off-by: Sami Mujawar --- ArmVirtPkg/ArmVirt.dsc.inc | 4 +- ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c | 117 +++++++++++++++++= +++ ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf | 28 +++++ 3 files changed, 148 insertions(+), 1 deletion(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index 409749297263a13696885d17c6d5554d07c195e4..88dd74e7bb0e1352a8867727a33= ae80498a9ea98 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -1,5 +1,5 @@ # -# Copyright (c) 2011 - 2022, ARM Limited. All rights reserved. +# Copyright (c) 2011 - 2023, ARM Limited. All rights reserved. # Copyright (c) 2014, Linaro Limited. All rights reserved. # Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved. # Copyright (c) Microsoft Corporation. @@ -178,6 +178,8 @@ [LibraryClasses.common] =20 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseRepor= tStatusCodeLibNull.inf =20 + ArmCcaLib|ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf + [LibraryClasses.common.SEC] PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf diff --git a/ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c b/ArmVirtPkg/= Library/ArmCcaLibNull/ArmCcaLibNull.c new file mode 100644 index 0000000000000000000000000000000000000000..e5e645e148d485fc324e060ec27= fbc3607fe8aae --- /dev/null +++ b/ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c @@ -0,0 +1,117 @@ +/** @file + Null implemmentation of the ArmCcaLib library. + + Copyright (c) 2022 - 2023, Arm Limited. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Glossary: + - Rsi or RSI - Realm Service Interface + - IPA - Intermediate Physical Address + - RIPAS - Realm IPA state +**/ +#include + +/** + Check if running in a Realm. + + @retval TRUE The execution is within the context of a Realm. + @retval FALSE The execution is not within the context of a Realm. +**/ +BOOLEAN +EFIAPI +IsRealm ( + VOID + ) +{ + return FALSE; +} + +/** + Configure the protection attribute for the page tables + describing the memory region. + + The IPA space of a Realm is divided into two halves: + - Protected IPA space and + - Unprotected IPA space. + + Software in a Realm should treat the most significant bit of an + IPA as a protection attribute. + + A Protected IPA is an address in the lower half of a Realms IPA + space. The most significant bit of a Protected IPA is 0. + + An Unprotected IPA is an address in the upper half of a Realms + IPA space. The most significant bit of an Unprotected IPA is 1. + + Note: + - Configuring the memory region as Unprotected IPA enables the + Realm to share the memory region with the Host. + - This function updates the page table entries to reflect the + protection attribute. + - A separate call to transition the memory range using the Realm + Service Interface (RSI) RSI_IPA_STATE_SET command is additionally + required and is expected to be done outside this function. + + @param [in] BaseAddress Base address of the memory region. + @param [in] Length Length of the memory region. + @param [in] IpaWidth IPA width of the Realm. + @param [in] Share If TRUE, set the most significant + bit of the IPA to configure the memory + region as Unprotected IPA. + If FALSE, clear the most significant + bit of the IPA to configure the memory + region as Protected IPA. + + @retval RETURN_SUCCESS IPA protection attribute updated. + @retval RETURN_INVALID_PARAMETER A parameter is invalid. + @retval RETURN_UNSUPPORTED The request is not initiated in a + Realm. +**/ +RETURN_STATUS +EFIAPI +ArmCcaSetMemoryProtectAttribute ( + IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN UINT64 IpaWidth, + IN BOOLEAN Share + ) +{ + return RETURN_UNSUPPORTED; +} + +/** + Return the IPA width of the Realm. + + The IPA width of the Realm is used to configure the protection attribute + for memory regions, see ArmCcaSetMemoryProtectAttribute(). + + The IPA width of the Realm is present in the Realm config which is read + when the ArmCcaInitPeiLib library hook function ArmCcaInitialize () is + called in the PrePi phase. ArmCcaInitialize () stores the IPA width of + the Realm in a GUID HOB gArmCcaIpaWidthGuid. + + This function searches the GUID HOB gArmCcaIpaWidthGuid and returns the + IPA width value stored therein. + + Note: + - This function must only be called after ArmCcaInitialize () has setup + the GUID HOB gArmCcaIpaWidthGuid. + + @param [out] IpaWidth IPA width of the Realm. + + @retval RETURN_SUCCESS Success. + @retval RETURN_INVALID_PARAMETER A parameter is invalid. + @retval RETURN_NOT_FOUND The GUID HOB gArmCcaIpaWidthGuid is = not + found and could mean that this funct= ion + was called before ArmCcaInitialize () + has created and initialised the GUID + HOB gArmCcaIpaWidthGuid. +**/ +RETURN_STATUS +EFIAPI +GetIpaWidth ( + OUT UINT64 *IpaWidth + ) +{ + return RETURN_UNSUPPORTED; +} diff --git a/ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf b/ArmVirtPk= g/Library/ArmCcaLibNull/ArmCcaLibNull.inf new file mode 100644 index 0000000000000000000000000000000000000000..8f6c251afb14da48db45ba78d96= d1d497e3fe8eb --- /dev/null +++ b/ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf @@ -0,0 +1,28 @@ +## @file +# Null implemmentation of the ArmCcaLib library. +# +# Copyright (c) 2022 - 2023, Arm Limited. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x0001001B + BASE_NAME =3D ArmCcaLib + FILE_GUID =3D 9E3F7AAA-10A6-4513-A960-B87F4D7DCFC5 + MODULE_TYPE =3D BASE + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D ArmCcaLib + +[Sources] + ArmCcaLibNull.c + + +[Packages] + ArmVirtPkg/ArmVirtPkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + BaseLib + --=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 (#103563): https://edk2.groups.io/g/devel/message/103563 Mute This Topic: https://groups.io/mt/98495970/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-