From nobody Fri Dec 27 18:21:17 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1502710661115973.760368857344; Mon, 14 Aug 2017 04:37:41 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 901D321D0A24E; Mon, 14 Aug 2017 04:34:53 -0700 (PDT) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0046.outbound.protection.outlook.com [104.47.40.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A2D5E21D0A243 for ; Mon, 14 Aug 2017 04:34:51 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1341.21; Mon, 14 Aug 2017 11:37:13 +0000 X-Original-To: edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=K8AsxvSHyxbLDJje/IMqQqXw3Ndrrh1LWYM5AVJ3xCs=; b=RgV9q5sMlIor1jk8GifQrU7MJYFF/SGErax9HLN8okzti1A9xNC2xAoldS7TocwOZw5XTETgIg3l2uirPtuNdcZAjYSnHyl4vaW65k5w1oWeKDWhIQS7Ua6TivK8+Uyx79gwSAO+bw6YPfm8tgmB95ulJWQMP/IdDSXXiKsKnjY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: edk2-devel@lists.01.org Date: Mon, 14 Aug 2017 07:36:30 -0400 Message-Id: <1502710605-8058-9-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1502710605-8058-1-git-send-email-brijesh.singh@amd.com> References: <1502710605-8058-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR15CA0043.namprd15.prod.outlook.com (10.173.226.157) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 20f02736-2f7f-4bc5-9cd0-08d4e308cee9 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 3:1bV1C38x8oRO65PZo22ACW5+NhIKkfvW5oSmq21Vt6YGSDtcQQj5Ye9Tvqu9hGV8iS7qWpPX8nk/h2xAIlH94ieGqBB7vDP9MkZ/MXCkN00psiSBwf3/JRP1vet/IRYAOVy35ti4SSWM+GsHN9PJ2gE64tKmUn50VvZg9CukJB7c3mSdZg2wCi8Sn4Qr0HPn4wwsB5107mj5z2tNTb2fKNwtT2WCusZut9nFiE8oMugpRD1npYElxq79fcvye6Ls; 25:6YcCrtfumMI+uTs7zEFunVYMsxydzO0w37Y5pvMtxDwMIT3/9e4bq77LcWPcXjRULAJ7HTZlcwFOR2oprJKjaZxILu846krEIgcKooMg0mbm/e8QJWIddMnhKU6vf6perWYG9/6YJ6+bcD3DLC7qTFHLpbvoOeKIYnGm6+JoISi4Fm8yOreIPbZZ/iwldgsiSGatUG15pUlEMd6wA3tHAgiJHJLfdyMjD6uHvGBpxNF1TdREeMUc1z8gAzSc5vLHmJ+J6m4NnRHEoi7jnRUycy+873JMMqPdPOSmG8q6jBv8FyY7HLexZb/Oku6Lb0m+LaChDHq3zjF2kips5QFqmQ==; 31:v0VhoS0Rr8iUuFdV0vS1vchA05VxsZFbSZ/7OHJcVy3Y8otCrgQIg225zw1ItpshYcEqNALLnbwB2BPBsv19NxxLjyEeJ8kIHbWBkMXbDm/VfB7zEBmyfZkj4qFnXuBr1Lx63KfrzlKCGq1VA854ybgyapNwOD+JlHFQgmizRth0WoBQ4lDl/2pw6xKKkbjW5mBJ0zs5obVKv6fFMsIrw3HfsUAEo5l+5+eSGkmkLE4= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:fqsWaFhGbB1cYzFbVCBg3fhTGwZKqNz42XwIY5rIhAsqQG+rEbNPSRDoTjuwJ5DTvYptsRiTUDBA8rWfKSMrBbyJZF+W0oBGMPsTjja6srW1PfCcdRFqCDnu3Qp51tqJd0735l+TCUL5XhMjuVxvXcypj+0tQIKcWAk3HaJF6jg+a+fVfUxqgAfLAOhSIYsWdcQmbXMkjTX6Q3KzqQ5oeV+5CNz3CvwMkDBS2CR4n7Nk+kkiiL9LQC9OFBam2lIHXrQX7KDulBmNNuiQMQfZNNzziQb/11OyQZ3/4FCD862oL/ifuJD5AUYLQS3pFajotUO1Jzx/nZADVebcFstIFTBCJCRy2ov6aK3yJqlhXCAEcyzReJY+FwFS6r+QhRw+y5RAbe03O3itkMbHMloKOxrfvK5KjS9E3ODXJgRl283J/B6KejhpUvgYGEaSqkgBBi7GiqN6er5nPWN32UoDa8n1S9WvoKNFOIA1sTao20rdr9cmGnZXTop4TETA8qXQ; 4:LYEtlgCWni+PuAVpT5tQ3MC+0d9jbOSruQEZBI2BTxqOfPiTywZJie2klC2hAJmyx3wdQk81UI4yxsyJCD+YXECTJpoB8cjVtrFJweznbE+I0qEOdaPyQoNZer5N3TdR436p90ZB30L0gqySMrmnOm0C8dIgVBmKKwmYejwczO/ZfLcw0/SgWq5F5cR+r2BVqVCmPndyFiRr+MlD+4g794q+cHa+EZpB7i1tD96yIBBuNQremmaYNqc1Ko7XutMmSilLh2Er1WgTeHuiy0VvnXuzr9fQoI+WukaZRTbTvHXK2ZXz15pT09xxpBZoKy/MqrbggDTqbqz0mrgYeSs1lQ== X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123558100)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR12MB0145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR12MB0145; X-Forefront-PRVS: 039975700A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(199003)(189002)(54906002)(5003940100001)(6116002)(3846002)(53936002)(97736004)(575784001)(86362001)(36756003)(81156014)(81166006)(110136004)(8676002)(189998001)(50986999)(76176999)(5660300001)(2361001)(25786009)(2351001)(50226002)(4326008)(7350300001)(33646002)(478600001)(53416004)(42186005)(2906002)(105586002)(7736002)(305945005)(106356001)(48376002)(50466002)(47776003)(66066001)(6486002)(6916009)(2950100002)(6666003)(68736007)(101416001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0145; H:brijesh-build-machine.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0145; 23:b2krrIvBquZad+VFHBs8evzJLniwwvgS55YEr7xcQ?= =?us-ascii?Q?gOldyn15i+VR2ZhuWpK444VjKjXEk8K+av35iHjkxb2I3Pm37zcfg/Y0AO0I?= =?us-ascii?Q?7ooABIpQuOT+1Wi9hrRD7qf0KGma00TY+aiPkVuz7w725bdAsTUYz578lGE/?= =?us-ascii?Q?mr84RCbyW7PlD5wYA39x7MUK/qzidqe/skIE3q1uloqt3g72hA8MtVEjGCcn?= =?us-ascii?Q?wX8/vHQ3NuUG3zX/7PmGhMrr2Cj0nl9tfbaomyOxYTwp/jSRItdM7/8oR4Xp?= =?us-ascii?Q?aRElZEgeFeKf30T/TjZLu0P9VJrZ7SL2J1wCmvAtGdK0PYC7hQ9OC+p4bQdQ?= =?us-ascii?Q?QTGfFGVR4QRjvZJ1BxNO2/10b7hxf5SRzPnJM6qTGf+xIGRpmwWZxFwHSlHm?= =?us-ascii?Q?7nWTquLDjNJiGURmuaL/dV9Xx4QDwOHPwmkB8mCpFGav6hUOSIdCsKCGuADk?= =?us-ascii?Q?rxwHTpAkSGbHjtoliJVHG8t8/rj/E4RxsSW+I0Ua0GaN37M2yBlaBDOEFaFm?= =?us-ascii?Q?P26OiQ4wOi2bjlLFyS+iQDsTT26AV7N46YU1ejarshQaL45gwN3O18wgbjw0?= =?us-ascii?Q?Tee9dyN+KoKyH2cvP7aZ9Gf+83NSly7wAmpxLYq9FJXG4zutOFOloJBihV+6?= =?us-ascii?Q?RTP5yh8xMlAfNTHqo2ypWaU/OJC6Giy0sQrfFUdjrfR/yC2wRWZ5E4wqYtye?= =?us-ascii?Q?+UHN5hWXU46MnkZ/a7BEHqKjEwKJU7mqNG7VJESAj61XTYz3ta2OmaCz/P/Q?= =?us-ascii?Q?snsIRiPGzEoDeO0NGNjF0FsAwgcWO1UmPC+g+6qvEqSJ6kXutv4Nieg0daTm?= =?us-ascii?Q?OH3SEdvl3hv8Rk3pgzRm8kwE9aHRFin2VDpCoahd1XUt3VhGqGbC6iICqog6?= =?us-ascii?Q?B5r0mul7N4HpE0fwpN7/AC2t0m/Nv+XwTPmFi/VC5pqhDhvnSXFwceDPmaip?= =?us-ascii?Q?+skWgNvgTR/rLwx5UM9jOT7yPurKiNiobCXcY6D3pkn7haGoOdNUinAmXfro?= =?us-ascii?Q?l0DwLjG5J31vxnTPiyl9pfA989/mJZB8/0DWjO63j8ncJKVrkkkndw9usTx6?= =?us-ascii?Q?oK9JvWJ+EfC0T4XecED/e6RWRXXT9eXdgv2I9iPGPoIWK/Azc15KQJv9bz3/?= =?us-ascii?Q?IBlDI58X24p32uPtYB/Y3D4ckeUxz5bDf32RJ4X037uoWT/qiaODltFKYId3?= =?us-ascii?Q?0G8GOuKw0ZKRJE=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 6:jyNwq8RsU17uvhQSla9r7Pr0E/C8PsMhXogHsobQtylsV2yj6oyIpILfwVSIdtHKWdQRC6feJtf9MLyYCwRC/mfcyB3HXlTr5p+0yF+zZEs2ENosnsejzU8BWwIfz8VqrFgq9GWlQNdkFe4hYsWI19gUqQYukiTLb8kriAy3Nq6UadeHwjfkKnuB3KnroaBpjzi/CayEz+QFJjYQL0/qLegmBJvxHPY2V11/YvftdcxlxeroOzLD2ZjytJZBhyq2JDKxI6Uagun62TeHo5r0ggYdap7jOLx2QX8YBOlMI5vDGgSCK5Td7NmmmYaOWz3oE53Sac7BqzYl5TD3Ugcp7w==; 5:1gtBGGXCf9ocbjFx8UmAN+4AHjRj/xhGUzjthECC1SMKr++p0Pmc84OtHig6zS61oWROJHUUDbupRfsgyKtSZeKZGWJwl0rfILj+HUcMw2+9ufcTLP3cjNs1jZ33VWZD6HQD6ORD+tm92wxR2WvOEQ==; 24:AsM0Y0jRLLeBxNVU3wLC99bbZtNigLu+EtHQ7bzxUUQWGhICZkPYYowaQcPbsxU3OdxlEdhnxoICsOgtNzJSK3+e0SXwEmTuL3mgH6uk/gM=; 7:C0hUhXjXRAK4MOff8IaZyD+lmSjzhoNFVkR9oqfNCbaiQqkyt0m+9WaLa7sn4DWmtxgRkoXJ/7SYnNF3OpJaA7SvxjNwMFaMnBD/zMLyFchHkoYetMkySblf8L0AVYJzKbWi17b2/YFoUIo0KbNArMQBzhEAXK1dzWuDynlHbmeJ12oHHtebXKCNBc9F3IDBS+pJ0MUpc3nr7rm2Iq3qSeeAhUFXt1LggRRPUsGE1Eg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:4the0YcpYVoNvfLTqulUbcPLZiturKuAYCZ7d1JLaFztns8dTMxj1TJrFVBLcb9zZELDkeTtbZp8CKYNDEEuj5pG3asXDDBbuBrsgZjKwnYO/VKHZFcLQdXBSrMK8Nod89PJRIU+KWa6lves84ioOoQuZk1qSbWDQgAuBY3qdlQ4wvCJb4pho8fMpb7afGHzMHOIkdB7Ah1396NuzJKsY8ZxT4NwnZumR3v2IF7hw0dxOhIoTFXvCleHpzgCqD/X X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2017 11:37:13.0648 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Subject: [edk2] [PATCH v2 08/23] OvmfPkg/VirtioPciDeviceDxe: implement IOMMU-like member functions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jordan Justen , Tom Lendacky , Laszlo Ersek , Ard Biesheuvel Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The patch implements the newly added IOMMU-like member functions by respectively delegating the job to: - VIRTIO_DEVICE_PROTOCOL.AllocateSharedPages () -> MemoryAllocationLib.AllocatePages() - VIRTIO_DEVICE_PROTOCOL.FreeSharedPages () -> MemoryAllocationLib.FreePages () - VIRTIO_DEVICE_PROTOCOL.MapSharedBuffer () -> no-op - VIRTIO_DEVICE_PROTOCOL.UnmapSharedBuffer () -> no-op Suggested-by: Laszlo Ersek Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Tom Lendacky Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Brijesh Singh --- OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h | 34 ++++++++++++ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c | 7 ++- OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c | 58 ++++++++++++++++++++ 3 files changed, 98 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h b/OvmfPkg/VirtioP= ciDeviceDxe/VirtioPciDevice.h index 6f51f816ef0f..41df5a98e560 100644 --- a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h +++ b/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h @@ -3,6 +3,7 @@ Internal definitions for the VirtIo PCI Device driver =20 Copyright (C) 2013, ARM Ltd + Copyright (c) 2017, AMD Inc, All rights reserved.
=20 This program and the accompanying materials are licensed and made availa= ble under the terms and conditions of the BSD License which accompanies this @@ -156,4 +157,37 @@ VirtioPciSetDeviceStatus ( IN UINT8 DeviceStatus ); =20 +EFI_STATUS +EFIAPI +VirtioPciAllocateSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + OUT VOID **HostAddress + ); + +VOID +EFIAPI +VirtioPciFreeSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + IN VOID *HostAddress + ); + +EFI_STATUS +EFIAPI +VirtioPciMapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VIRTIO_MAP_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ); + +EFI_STATUS +EFIAPI +VirtioPciUnmapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VOID *Mapping + ); #endif // _VIRTIO_PCI_DEVICE_DXE_H_ diff --git a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c b/OvmfPkg/VirtioP= ciDeviceDxe/VirtioPciDevice.c index e41730456471..b847f3c02528 100644 --- a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c +++ b/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c @@ -5,6 +5,7 @@ Copyright (C) 2012, Red Hat, Inc. Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved.
Copyright (C) 2013, ARM Ltd. + Copyright (C) 2017, AMD Inc, All rights reserved.
=20 This program and the accompanying materials are licensed and made availa= ble under the terms and conditions of the BSD License which accompanies this @@ -40,7 +41,11 @@ STATIC VIRTIO_DEVICE_PROTOCOL mDeviceProtocolTemplate = =3D { VirtioPciGetDeviceStatus, // GetDeviceStatus VirtioPciSetDeviceStatus, // SetDeviceStatus VirtioPciDeviceWrite, // WriteDevice - VirtioPciDeviceRead // ReadDevice + VirtioPciDeviceRead, // ReadDevice + VirtioPciAllocateSharedPages, // AllocateSharedPages + VirtioPciFreeSharedPages, // FreeSharedPages + VirtioPciMapSharedBuffer, // MapSharedBuffer + VirtioPciUnmapSharedBuffer, // UnmapSharedBuffer }; =20 /** diff --git a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c b/OvmfPkg/Virt= ioPciDeviceDxe/VirtioPciFunctions.c index 5f86914265ea..4597095deb78 100644 --- a/OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c +++ b/OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c @@ -5,6 +5,7 @@ Copyright (C) 2012, Red Hat, Inc. Copyright (c) 2012, Intel Corporation. All rights reserved.
Copyright (C) 2013, ARM Ltd. + Copyright (C) 2017, AMD Inc, All rights reserved.
=20 This program and the accompanying materials are licensed and made availa= ble under the terms and conditions of the BSD License which accompanies this @@ -271,3 +272,60 @@ VirtioPciSetDeviceStatus ( return VirtioPciIoWrite (Dev, VIRTIO_PCI_OFFSET_QUEUE_DEVICE_STATUS, sizeof (UINT8), DeviceStatus); } + +EFI_STATUS +EFIAPI +VirtioPciAllocateSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + OUT VOID **HostAddress + ) +{ + VOID *Buffer; + + Buffer =3D AllocatePages (NumPages); + if (Buffer =3D=3D NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *HostAddress =3D Buffer; + return EFI_SUCCESS; +} + +VOID +EFIAPI +VirtioPciFreeSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + IN VOID *HostAddress + ) +{ + FreePages (HostAddress, NumPages); +} + +EFI_STATUS +EFIAPI +VirtioPciMapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VIRTIO_MAP_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ) +{ + *DeviceAddress =3D (EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress; + *Mapping =3D NULL; + + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +VirtioPciUnmapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + OUT VOID *Mapping + ) +{ + return EFI_SUCCESS; +} --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel