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 4E803941E64 for ; Fri, 17 Nov 2023 20:19:07 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Y8dBlsVKWfM+YOcGRpdlMASqAdXs+x2DPU6M5Ps1Jds=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1700252345; v=1; b=bO0sFsfLZUcQOyZSAFYYgS9OC/8rJDajTeZRkcodcxgxdE6rEBNo901bn1ZOKEdehszTo4qJ VwKjgAKL2Fupq7lQZXPyQ+WIqiTPuGR5yUcVVzdKW4VfoZD3Q8kr8MU/DFAUEWPd1kJ1p0BoYJp 5Fi9TRE/1KR99w0HJnk8oa6s= X-Received: by 127.0.0.2 with SMTP id XgbsYY7687511xLbMd6puGpP; Fri, 17 Nov 2023 12:19:05 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by mx.groups.io with SMTP id smtpd.web11.5599.1700252345356451491 for ; Fri, 17 Nov 2023 12:19:05 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10897"; a="4447742" X-IronPort-AV: E=Sophos;i="6.04,206,1695711600"; d="scan'208";a="4447742" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2023 12:19:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10897"; a="759256512" X-IronPort-AV: E=Sophos;i="6.04,206,1695711600"; d="scan'208";a="759256512" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 17 Nov 2023 12:19:04 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 17 Nov 2023 12:19:03 -0800 X-Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Fri, 17 Nov 2023 12:19:03 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 17 Nov 2023 12:19:02 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O+FCU9QmuhqHa1aqAhEFiwW5Zep4IuB6mxzaskXYO3pMavZb2n42lwnwRx6YhE41h/hbqFol4TkYFpkVh/z4Hj62S9v4WevDUHG4GLgIpi2L0hRgQpR4Pwu9YuuoLuVIGJeE4ae7/KTqtdv/OS9i28l3+fU/t/zLY+AA69sH87R68Nyvn9g5/FdoI+KPt2v4KEIIFC899RB686HyO9/aKc6v06a3HbE6cEyTYPgeVMxz1cdBBjKOf0SqRorGQr0/xX6XEbmxRTepVxRJrOmOfpKQIsCFt+7B8Z7zvUlyCfHRcKrdp0/DKTXww4D/lcRmWyXJbzuRXIh4vrnfETNJQg== 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=ZgXo7Owi7FsdYnUiOoQonZyQ+oJOcm3a6hHaYtZ3jnw=; b=Sefp5R/HBEXiBxxjTiz+ArTkofemTXRewc/TqOMyVu5ZNyHQQ08V4g9BxnuInBP7XYH7nDdhGwfN1yKsGEm9z9DB3+f/wIwvL0MpQ9dlK5P+pClFzyCkn6yHXB/AXq6+Uciu+Xb5TY6wxvatjr2xquP1IeY9dBEFBf9rOMns5s+GzpMn4FNG56K4Z7jCf5/nL7Wg/q6DNggjWdIPy0g/SjDb/0/W4CrsYCNkRizGMw8ZDtnZ97Q0fjC+w7rlER35Ukb9zdIqZG7j7Ji1wRzUUVQxH7UAXW+kDbVfQup5Ynv4lRaQuaH9ggRgfngVFXX6Wsy0n3IeQvYRz2mzoppxyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from PH8PR11MB6856.namprd11.prod.outlook.com (2603:10b6:510:22b::7) by SA1PR11MB8489.namprd11.prod.outlook.com (2603:10b6:806:3a9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Fri, 17 Nov 2023 20:18:55 +0000 X-Received: from PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::ddf0:b3d6:2e5c:bd5e]) by PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::ddf0:b3d6:2e5c:bd5e%3]) with mapi id 15.20.7002.021; Fri, 17 Nov 2023 20:18:55 +0000 From: "Andrei Warkentin" To: Chao Li , "devel@edk2.groups.io" CC: "Dong, Eric" , "Ni, Ray" , "Kumar, Rahul R" , Gerd Hoffmann , "Leif Lindholm" , Ard Biesheuvel , Sami Mujawar , Sunil V L , Tuan Phan Subject: Re: [edk2-devel] [PATCH v3 13/39] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Thread-Topic: [PATCH v3 13/39] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Thread-Index: AQHaGT0BbqTDd08x5Eqx8GUUqgorWrB+84Jg Date: Fri, 17 Nov 2023 20:18:55 +0000 Message-ID: References: <20231117095742.3605778-1-lichao@loongs> <20231117100026.3609206-1-lichao@loongson.cn> In-Reply-To: <20231117100026.3609206-1-lichao@loongson.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH8PR11MB6856:EE_|SA1PR11MB8489:EE_ x-ms-office365-filtering-correlation-id: ce0d6a46-e5fd-47a6-5811-08dbe7aa6c9b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: pYcRpAtXzn8Gox54zSDGVRV5jTlvJpEiqqQGInmHQB7ZSV38QFQhiAqhaTTADteXwth9ZdQ2CIGMgj80fy4G0bYQBY+FL6vD/Km3AdbC7IMRkY1laShjAaUhQevg2B9Qq82AxxMyAle0ZZXLBKCK97MJBmtVtG/pm2vTeMRMo4JGFqCXFGCzbXlfaczhO3BWn2osby9nkXmg81Gs5/z5GoRwfGbtLk3tkPyZUW1V6Q+1uQiebTfywPmXerjrRv1CXBPSNPYtyopH/6gWYhyYppktSRwVW67usWtmvM5VjiUYGwGijSDCRbc760r89sLPoeU1+Fo7IoYth0vejRvRwdFK70QW7zcc9C/AO5eGOG4uqXq1LXzaA9mfYyr6pxT4cYKW6BsjHDTzg1HA6p7OTD0dJOxUbAysILfKC6HVXBu1V3lsXnsbBq21ri6JHysGNPx1W7yOjN/lxzYmY3jTaQEcyQUs+9E7Yj6Dx2hW1atJX8Ndq64u04zFY+nqpz8jxmc1JBq7uTKeuIDtMkIj1thHN/vNR/60eupfL3aioLE16MwldPVXhFmJIDRPRS1zfWVUWTtEwNcNlhAKr6T8SE3OdOILW+ATndeTJvcFxHA= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?J72WN67X4PbTkyVDCf4+PMO0GJhbEOSiWRFr8ZNigoOhkcTT+7Iz/Mc0xdoS?= =?us-ascii?Q?qinoEK28xYhCPAzb+/nB2a1Av10KXaJBgspM8gAssbMLPneFtiinn59CHY5L?= =?us-ascii?Q?cpdi1C3wxiFGgoplvu3ZYRkfAY8PVlV0oQln6XHBcX7pByc/q5rokOIA22TA?= =?us-ascii?Q?h8hLD3gYtJsoglnCcccAR1xsIDsdEKiJ28dU5EFx4+wLLdClM/l3cJ2Zg+zl?= =?us-ascii?Q?pHgAWmEuVm+X9d8Ce5Xb1hIfqrNLRioWhvrELlyXyJxYBeo9a4QpVcsLbVVt?= =?us-ascii?Q?bnKVVE0TPXbNSEQa/RXo1BWFYSG/X3wejJtOgEi4EN6OjnhOmVdNAurFCsop?= =?us-ascii?Q?VUyBJNPhtuhDko6ETcPSNza7NgAyY8zKYo0EXWs4jxSJrETA1LPrl6d1mWVX?= =?us-ascii?Q?5JoLWIdXFLTiVTH+C3to64f1CoAsKo+tbuYr0sLO9a3VnnHjPws+wkV1OreW?= =?us-ascii?Q?x+KFtj5Fc23AFihe11ZSHS8YxrGfLeaidsWXUQaXwSdjb+UHBBL7DT9dbabr?= =?us-ascii?Q?6Me8y5lMdEq/ZLnXLhKRMW3O2v3BOvcxUVILkONerIwuz+Sd/RtWcpARa1De?= =?us-ascii?Q?LRxr9+toqyhRo/yU2bRgOkX1a9H409RhOYB851MJtzdfBQAsBvZvh/wvC/rT?= =?us-ascii?Q?Qqcg2/W+xjwNiEGm7Io/i/qO3eEv+lR8yOCwSdBJ5Cfgu0icHQVX/XKVN/Ou?= =?us-ascii?Q?AXa+V3mSsQIfaEB3wALPotR/5lxF9acd8J2HEnrfgsjxFFYMgwY0iF8tUypY?= =?us-ascii?Q?5b2cPaWP+qY7fZPF3ng3ov7KhF9FTFL+xkv70TgRhhJ9MOmIAvOCKSwRUZN1?= =?us-ascii?Q?ykZb6n3QZihkVs1+KI5agCl7v8lONIDhWvpa7hM2SF1/CDKthTy7m4k/jDXX?= =?us-ascii?Q?axbLIZ7aeUMmTBzW91L7Kfwk4vWKNSoqn+Ud3cK0Sh6cawkxEnfBxMwic8uB?= =?us-ascii?Q?TDgKzyOhrzD0UaNoU10VtCMHZcZuSebev70aYn9oL70IVf6xJ4GuOXWPasCo?= =?us-ascii?Q?E37X87Awg1rt3fLnHqFFKD/yVUbQrE+qDsInkmS2OjnkVW8s9jWpzSN3ANoA?= =?us-ascii?Q?rIlZeVa0INp5tuv183wOja11kToNHc9IOEpBLJTTzflkQ2VBBuQoK2jWllIv?= =?us-ascii?Q?Ep30wReu2n83yukwBIky+etJpmHDoKwysfRXB9LVG5PlTRUuEnJIOpKNY7XU?= =?us-ascii?Q?+teFyTtXnSR/dtE7vaVYb0zeBQ7W6+haulwuebl9Nb2pfITNN9H+hJxeExsU?= =?us-ascii?Q?tKELOAOUM5tln8c1VqLU1YvSiM8zrDjbM5LXvJ0TIaKsOJEkDm9UYUNgdJGC?= =?us-ascii?Q?YNmMplAj6izB33gYrPKIXvxG2OrCFM9+/cvLGdogFyNxqugQ+yMzaRCthtRV?= =?us-ascii?Q?HAEoY36/s2L6IpREHfed9XLVU+sxPSxlEAE6+4Dxo+7YlVv3IEB0+hmlC6US?= =?us-ascii?Q?WQDe3ZZg3Sj661O2GsKQgJjwJDvqOgPhtWv6LkVKdxtCwhSw75ALU/bZtZ0X?= =?us-ascii?Q?qovxocjyYzT2EZat8cLJtp4+TrxWt1/xkBPkYLBIwpit7bfxmQbWJZvkp1Bc?= =?us-ascii?Q?iD1WdUrTbw6pBhLNR9OwhSbylqJKiDWvU8sPV03Z+zVqnPrCS22h2ZKxmgVf?= =?us-ascii?Q?vA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB6856.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce0d6a46-e5fd-47a6-5811-08dbe7aa6c9b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 20:18:55.5423 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9F7KCSZ1kZ+w/62DDePE3qorn5Nm+DXFFS2lpr/pGjXMiXKF5XVSsHs5/+FZYUwFF0hvfFPKOwj/AHkK+e33DKhrIJMszrbHyUN3ThzCvbA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8489 X-OriginatorOrg: intel.com 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,andrei.warkentin@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: vKZg3L7IIjKI0a0Sn3kKJR8jx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=bO0sFsfL; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io +Tuan as a heads-up. This seems reasonable to me. What does the "Uint" mean in ConfigureMemoryMa= nagementUint? Did you intend to say "Unit"? Reviewed-by: Andrei Warkentin > -----Original Message----- > From: Chao Li > Sent: Friday, November 17, 2023 4:00 AM > To: devel@edk2.groups.io > Cc: Dong, Eric ; Ni, Ray ; Kumar, > Rahul R ; Gerd Hoffmann ; > Leif Lindholm ; Ard Biesheuvel > ; Sami Mujawar ; > Sunil V L ; Warkentin, Andrei > > Subject: [PATCH v3 13/39] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg >=20 > Add a new header file CpuMmuLib.h, whitch is referenced from > ArmPkg/Include/Library/ArmMmuLib.h. Currently, only support for > LoongArch64 is added, and more architectures can be accommodated in the > future. >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4584 >=20 > Cc: Eric Dong > Cc: Ray Ni > Cc: Rahul Kumar > Cc: Gerd Hoffmann > Cc: Leif Lindholm > Cc: Ard Biesheuvel > Cc: Sami Mujawar > Cc: Sunil V L > Cc: Andrei Warkentin > Signed-off-by: Chao Li > --- > UefiCpuPkg/Include/Library/CpuMmuLib.h | 155 > +++++++++++++++++++++++++ > UefiCpuPkg/UefiCpuPkg.dec | 4 + > 2 files changed, 159 insertions(+) > create mode 100644 UefiCpuPkg/Include/Library/CpuMmuLib.h >=20 > diff --git a/UefiCpuPkg/Include/Library/CpuMmuLib.h > b/UefiCpuPkg/Include/Library/CpuMmuLib.h > new file mode 100644 > index 0000000000..23b2fe34ac > --- /dev/null > +++ b/UefiCpuPkg/Include/Library/CpuMmuLib.h > @@ -0,0 +1,155 @@ > +/** @file > + > + Copyright (c) 2023 Loongson Technology Corporation Limited. All > + rights reserved.
> + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef CPU_MMU_LIB_H_ > +#define CPU_MMU_LIB_H_ > + > +#include > + > +#define EFI_MEMORY_CACHETYPE_MASK (EFI_MEMORY_UC | \ > + EFI_MEMORY_WC | \ > + EFI_MEMORY_WT | \ > + EFI_MEMORY_WB | \ > + EFI_MEMORY_UCE \ > + ) > + > +typedef struct { > + EFI_PHYSICAL_ADDRESS PhysicalBase; > + EFI_VIRTUAL_ADDRESS VirtualBase; > + UINTN Length; > + UINTN Attributes; > +} MEMORY_REGION_DESCRIPTOR; > + > +/** > + Converts EFI Attributes to corresponding architecture Attributes. > + > + @param[in] EfiAttributes Efi Attributes. > + > + @retval Corresponding architecture attributes. > +**/ > +UINTN > +EfiAttributeConverse ( > + IN UINTN EfiAttributes > + ); > + > +/** > + Finds the length and memory properties of the memory region > corresponding to the specified base address. > + > + @param[in] BaseAddress To find the base address of the memory > region. > + @param[in] EndAddress To find the end address of the memory regio= n. > + @param[out] RegionLength The length of the memory region found. > + @param[out] RegionAttributes Properties of the memory region found= . > + > + @retval EFI_SUCCESS The corresponding memory area was successfully > found > + EFI_NOT_FOUND No memory area found > +**/ > +EFI_STATUS > +GetMemoryRegionAttribute ( > + IN UINTN BaseAddress, > + IN UINTN EndAddress, > + OUT UINTN *RegionLength, > + OUT UINTN *RegionAttributes > + ); > + > +/** > + Sets the Attributes of the specified memory region > + > + @param[in] BaseAddress The base address of the memory region to se= t > the Attributes. > + @param[in] Length The length of the memory region to set the > Attributes. > + @param[in] Attributes The Attributes to be set. > + @param[in] AttributeMask Mask of memory attributes to take into > account. > + > + @retval EFI_SUCCESS The Attributes was set successfully > +**/ > +EFI_STATUS > +SetMemoryRegionAttributes ( > + IN EFI_PHYSICAL_ADDRESS BaseAddress, > + IN UINTN Length, > + IN UINTN Attributes, > + IN UINT64 AttributeMask > + ); > + > +/** > + Sets the non-executable Attributes for the specified memory region > + > + @param[in] BaseAddress The base address of the memory region to set > the Attributes. > + @param[in] Length The length of the memory region to set the > Attributes. > + > + @retval EFI_SUCCESS The Attributes was set successfully > +**/ > +EFI_STATUS > +SetMemoryRegionNoExec ( > + IN EFI_PHYSICAL_ADDRESS BaseAddress, > + IN UINTN Length > + ); > + > +/** > + Clears the non-executable Attributes for the specified memory region > + > + @param[in] BaseAddress The base address of the memory region to clea= r > the Attributes. > + @param[in] Length The length of the memory region to clear the > Attributes. > + > + @retval EFI_SUCCESS The Attributes was clear successfully > +**/ > +EFI_STATUS > +EFIAPI > +ClearMemoryRegionNoExec ( > + IN EFI_PHYSICAL_ADDRESS BaseAddress, > + IN UINT64 Length > + ); > + > +/** > + Sets the read-only Attributes for the specified memory region > + > + @param[in] BaseAddress The base address of the memory region to set > the Attributes. > + @param[in] Length The length of the memory region to set the > Attributes. > + > + @retval EFI_SUCCESS The Attributes was set successfully > +**/ > +EFI_STATUS > +EFIAPI > +SetMemoryRegionReadOnly ( > + IN EFI_PHYSICAL_ADDRESS BaseAddress, > + IN UINT64 Length > + ); > + > +/** > + Clears the read-only Attributes for the specified memory region > + > + @param[in] BaseAddress The base address of the memory region to clea= r > the Attributes. > + @param[in] Length The length of the memory region to clear the > Attributes. > + > + @retval EFI_SUCCESS The Attributes was clear successfully > +**/ > +EFI_STATUS > +EFIAPI > +ClearMemoryRegionReadOnly ( > + IN EFI_PHYSICAL_ADDRESS BaseAddress, > + IN UINT64 Length > + ); > + > +/** > + Create a page table and initialize the memory management unit(MMU). > + > + @param[in] MemoryTable A pointer to a memory ragion table. > + @param[out] TranslationTableBase A pointer to a translation table bas= e > address. > + @param[out] TranslationTableSize A pointer to a translation table bas= e > size. > + > + @retval EFI_SUCCESS Configure MMU successfully. > + EFI_INVALID_PARAMETER MemoryTable is NULL. > + EFI_UNSUPPORTED Out of memory space or size not al= igned. > +**/ > +EFI_STATUS > +EFIAPI > +ConfigureMemoryManagementUint ( > + IN MEMORY_REGION_DESCRIPTOR *MemoryTable, > + OUT VOID **TranslationTableBase OPTIONAL, > + OUT UINTN *TranslationTableSize OPTIONAL > + ); > + > +#endif // CPU_MMU_LIB_H_ > diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec index > 154b1d06fe..150beae981 100644 > --- a/UefiCpuPkg/UefiCpuPkg.dec > +++ b/UefiCpuPkg/UefiCpuPkg.dec > @@ -62,6 +62,10 @@ > ## @libraryclass Provides function for manipulating x86 paging struc= tures. > CpuPageTableLib|Include/Library/CpuPageTableLib.h >=20 > +[LibraryClasses.LoongArch64] > + ## @libraryclass Provides macros and functions for the memory > management unit. > + CpuMmuLib|Include/Library/CpuMmuLib.h > + > ## @libraryclass Provides functions for manipulating smram savestate > registers. > MmSaveStateLib|Include/Library/MmSaveStateLib.h >=20 > -- > 2.27.0 -=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 (#111412): https://edk2.groups.io/g/devel/message/111412 Mute This Topic: https://groups.io/mt/102644768/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-