<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Jiewen,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I agree with your  assessment that it could have a PEI and potentially MM instance. Will remove the prefix and change them to `MmUnblockMemoryLib` in v3 patches. Thanks for the input.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,</p>
<p class="MsoNormal">Kun</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:jiewen.yao@intel.com">Yao, Jiewen</a><br>
<b>Sent: </b>Tuesday, February 23, 2021 17:33<br>
<b>To: </b><a href="mailto:hao.a.wu@intel.com">Wu, Hao A</a>; <a href="mailto:kun.q@outlook.com">
Kun Qin</a>; <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; <a href="mailto:gaoliming@byosoft.com.cn">
gaoliming</a>; <a href="mailto:michael.d.kinney@intel.com">Kinney, Michael D</a>;
<a href="mailto:zhiguang.liu@intel.com">Liu, Zhiguang</a><br>
<b>Cc: </b><a href="mailto:jian.j.wang@intel.com">Wang, Jian J</a>; <a href="mailto:eric.dong@intel.com">
Dong, Eric</a>; <a href="mailto:ray.ni@intel.com">Ni, Ray</a>; <a href="mailto:jiewen.yao@intel.com">
Yao, Jiewen</a><br>
<b>Subject: </b>Re: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I feel the name is confusing.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The class name is DxeMmUnblockMemoryLib. But actually, this is not related to DXE phase.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I believe, it is also applicable to PEI phase, if we have a PEI instance. Please correct me if I am wrong.<o:p></o:p></p>
<p class="MsoNormal">Also, we can have SMM instance, right?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If that is true, then I prefer to remove Dxe prefix.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Wu, Hao A <hao.a.wu@intel.com> <br>
<b>Sent:</b> Wednesday, February 24, 2021 9:27 AM<br>
<b>To:</b> Kun Qin <kun.q@outlook.com>; devel@edk2.groups.io; Yao, Jiewen <jiewen.yao@intel.com>; gaoliming <gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com><br>
<b>Cc:</b> Wang, Jian J <jian.j.wang@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com><br>
<b>Subject:</b> RE: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks Kun,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For putting the new library in MdePkg, I am not sure whether this is a similar case to SmmMemLib.<o:p></o:p></p>
<p class="MsoNormal">I looped Jiewen, Liming and Mike to check if they have comments on this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Best Regards,<o:p></o:p></p>
<p class="MsoNormal">Hao Wu<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Kun Qin <<a href="mailto:kun.q@outlook.com">kun.q@outlook.com</a>>
<br>
<b>Sent:</b> Wednesday, February 24, 2021 3:30 AM<br>
<b>To:</b> <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; Wu, Hao A <<a href="mailto:hao.a.wu@intel.com">hao.a.wu@intel.com</a>>; Yao, Jiewen <<a href="mailto:jiewen.yao@intel.com">jiewen.yao@intel.com</a>>; gaoliming <<a href="mailto:gaoliming@byosoft.com.cn">gaoliming@byosoft.com.cn</a>>;
 Kinney, Michael D <<a href="mailto:michael.d.kinney@intel.com">michael.d.kinney@intel.com</a>>; Liu, Zhiguang <<a href="mailto:zhiguang.liu@intel.com">zhiguang.liu@intel.com</a>><br>
<b>Cc:</b> Wang, Jian J <<a href="mailto:jian.j.wang@intel.com">jian.j.wang@intel.com</a>>; Dong, Eric <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>>; Ni, Ray <<a href="mailto:ray.ni@intel.com">ray.ni@intel.com</a>><br>
<b>Subject:</b> RE: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Hao,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for the suggestion. I can move the library to MdePkg similar to SmmMemLib and add the change for OVMF.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Liming/Zhiguang,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am happy to prepare patches to cover the dependency change in ed2-platform in a separate patch series. But please let me know if you would like to proceed otherwise.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Kun<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a href="mailto:hao.a.wu@intel.com">Wu, Hao A</a><br>
<b>Sent: </b>Monday, February 22, 2021 17:42<br>
<b>To: </b><a href="mailto:kun.q@outlook.com">Kun Qin</a>; <a href="mailto:devel@edk2.groups.io">
devel@edk2.groups.io</a>; <a href="mailto:jiewen.yao@intel.com">Yao, Jiewen</a>; <a href="mailto:gaoliming@byosoft.com.cn">
gaoliming</a>; <a href="mailto:michael.d.kinney@intel.com">Kinney, Michael D</a>;
<a href="mailto:zhiguang.liu@intel.com">Liu, Zhiguang</a><br>
<b>Cc: </b><a href="mailto:jian.j.wang@intel.com">Wang, Jian J</a>; <a href="mailto:eric.dong@intel.com">
Dong, Eric</a>; <a href="mailto:ray.ni@intel.com">Ni, Ray</a><br>
<b>Subject: </b>Re: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hello Kun,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sorry for the delayed response.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Except for missing the UNI file for the newly added library, I do not have other comment for the implementation at this moment.<o:p></o:p></p>
<p class="MsoNormal">But I am wondering if this library can be added into the MdePkg as the case for MdePkg\Library\SmmMemLib\<o:p></o:p></p>
<p class="MsoNormal">I have looped in Jiewen, Liming and Mike for comments.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Also, since:<o:p></o:p></p>
<p class="MsoNormal">* New library dependency for VariableSmmRuntimeDxe.inf<o:p></o:p></p>
<p class="MsoNormal">* INF file separation and new library dependency in Tcg2Smm<o:p></o:p></p>
<p class="MsoNormal">I think the series needs to prepare the changes for platforms under edk2 (OVMF) and edk2-platforms repositories that consume the above 2 modules.<o:p></o:p></p>
<p class="MsoNormal">I am not exactly sure on how this should be handled within edk2-platforms, so I added Liming and Zhiguang here for comments.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Best Regards,<o:p></o:p></p>
<p class="MsoNormal">Hao Wu<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Kun Qin <<a href="mailto:kun.q@outlook.com">kun.q@outlook.com</a>>
<br>
<b>Sent:</b> Tuesday, February 23, 2021 6:15 AM<br>
<b>To:</b> <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; Wu, Hao A <<a href="mailto:hao.a.wu@intel.com">hao.a.wu@intel.com</a>><br>
<b>Cc:</b> Wang, Jian J <<a href="mailto:jian.j.wang@intel.com">jian.j.wang@intel.com</a>>; Dong, Eric <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>>; Ni, Ray <<a href="mailto:ray.ni@intel.com">ray.ni@intel.com</a>>; Yao, Jiewen <<a href="mailto:jiewen.yao@intel.com">jiewen.yao@intel.com</a>><br>
<b>Subject:</b> RE: [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Hao,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The patch series was resent with intended usage in VariableRuntime and Tcg2 drivers. Could you please provide feedback on them? Any input is appreciated.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Kun<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a href="mailto:kun.q@outlook.com">Kun Qin</a><br>
<b>Sent: </b>Tuesday, February 9, 2021 17:25<br>
<b>To: </b><a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a><br>
<b>Cc: </b><a href="mailto:jian.j.wang@intel.com">Jian J Wang</a>; <a href="mailto:hao.a.wu@intel.com">
Hao A Wu</a>; <a href="mailto:eric.dong@intel.com">Eric Dong</a>; <a href="mailto:ray.ni@intel.com">
Ray Ni</a>; <a href="mailto:jiewen.yao@intel.com">Jiewen Yao</a><br>
<b>Subject: </b>[PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">REF: <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3168">
https://bugzilla.tianocore.org/show_bug.cgi?id=3168</a><br>
<br>
This interface definition provides an abstraction layer for DXE drivers<br>
to request certain memory blocks to be mapped/unblocked for accessibility<br>
inside MM environment.<br>
<br>
Cc: Jian J Wang <<a href="mailto:jian.j.wang@intel.com">jian.j.wang@intel.com</a>><br>
Cc: Hao A Wu <<a href="mailto:hao.a.wu@intel.com">hao.a.wu@intel.com</a>><br>
Cc: Eric Dong <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>><br>
Cc: Ray Ni <<a href="mailto:ray.ni@intel.com">ray.ni@intel.com</a>><br>
Cc: Jiewen Yao <<a href="mailto:jiewen.yao@intel.com">jiewen.yao@intel.com</a>><br>
<br>
Signed-off-by: Kun Qin <<a href="mailto:kun.q@outlook.com">kun.q@outlook.com</a>><br>
---<br>
<br>
Notes:<br>
    v2:<br>
    - Resend with practical usage. No change [Hao]<br>
<br>
 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.c   | 40 ++++++++++++++++++++<br>
 MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h                     | 40 ++++++++++++++++++++<br>
 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf | 29 ++++++++++++++<br>
 MdeModulePkg/MdeModulePkg.dec                                            |  5 +++<br>
 MdeModulePkg/MdeModulePkg.dsc                                            |  2 +<br>
 5 files changed, 116 insertions(+)<br>
<br>
diff --git a/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.c b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.c<br>
new file mode 100644<br>
index 000000000000..774a7e41cfb0<br>
--- /dev/null<br>
+++ b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.c<br>
@@ -0,0 +1,40 @@<br>
+/** @file<br>
+  Null instance of MM Unblock Page Library.<br>
+<br>
+  This library provides an abstraction layer of requesting certain page access to be unblocked<br>
+  by MM environment if applicable.<br>
+<br>
+  Copyright (c), Microsoft Corporation.<br>
+  SPDX-License-Identifier: BSD-2-Clause-Patent<br>
+<br>
+**/<br>
+<br>
+#include <Uefi.h><br>
+<br>
+/**<br>
+  This API provides a way to unblock certain data pages to be accessible inside MM environment.<br>
+<br>
+  @param  UnblockAddress          The address of buffer caller requests to unblock, the address<br>
+                                  has to be page aligned.<br>
+  @param  NumberOfPages           The number of pages requested to be unblocked from MM<br>
+                                  environment.<br>
+<br>
+  @return EFI_SUCCESS             The request goes through successfully.<br>
+  @return EFI_NOT_AVAILABLE_YET   The requested functionality is not produced yet.<br>
+  @return EFI_UNSUPPORTED         The requested functionality is not supported on current platform.<br>
+  @return EFI_SECURITY_VIOLATION  The requested address failed to pass security check for<br>
+                                  unblocking.<br>
+  @return EFI_INVALID_PARAMETER   Input address either NULL pointer or not page aligned.<br>
+  @return EFI_ACCESS_DENIED       The request is rejected due to system has passed certain boot<br>
+                                  phase.<br>
+<br>
+**/<br>
+EFI_STATUS<br>
+EFIAPI<br>
+DxeMmUnblockMemoryRequest (<br>
+  IN EFI_PHYSICAL_ADDRESS   UnblockAddress,<br>
+  IN UINT64                 NumberOfPages<br>
+  )<br>
+{<br>
+  return EFI_UNSUPPORTED;<br>
+}<br>
diff --git a/MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h b/MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h<br>
new file mode 100644<br>
index 000000000000..8b63eb74a078<br>
--- /dev/null<br>
+++ b/MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h<br>
@@ -0,0 +1,40 @@<br>
+/** @file<br>
+  MM Unblock Memory Library Interface.<br>
+<br>
+  This library provides an abstraction layer of requesting certain page access to be unblocked<br>
+  by MM environment if applicable.<br>
+<br>
+  Copyright (c), Microsoft Corporation.<br>
+  SPDX-License-Identifier: BSD-2-Clause-Patent<br>
+<br>
+**/<br>
+<br>
+#ifndef _DXE_MM_UNBLOCK_MEMORY_LIB_H_<br>
+#define _DXE_MM_UNBLOCK_MEMORY_LIB_H_<br>
+<br>
+/**<br>
+  This API provides a way to unblock certain data pages to be accessible inside MM environment.<br>
+<br>
+  @param  UnblockAddress          The address of buffer caller requests to unblock, the address<br>
+                                  has to be page aligned.<br>
+  @param  NumberOfPages           The number of pages requested to be unblocked from MM<br>
+                                  environment.<br>
+<br>
+  @return EFI_SUCCESS             The request goes through successfully.<br>
+  @return EFI_NOT_AVAILABLE_YET   The requested functionality is not produced yet.<br>
+  @return EFI_UNSUPPORTED         The requested functionality is not supported on current platform.<br>
+  @return EFI_SECURITY_VIOLATION  The requested address failed to pass security check for<br>
+                                  unblocking.<br>
+  @return EFI_INVALID_PARAMETER   Input address either NULL pointer or not page aligned.<br>
+  @return EFI_ACCESS_DENIED       The request is rejected due to system has passed certain boot<br>
+                                  phase.<br>
+<br>
+**/<br>
+EFI_STATUS<br>
+EFIAPI<br>
+DxeMmUnblockMemoryRequest (<br>
+  IN EFI_PHYSICAL_ADDRESS   UnblockAddress,<br>
+  IN UINT64                 NumberOfPages<br>
+);<br>
+<br>
+#endif // _DXE_MM_UNBLOCK_MEMORY_LIB_H_<br>
diff --git a/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf<br>
new file mode 100644<br>
index 000000000000..e40462e5ab81<br>
--- /dev/null<br>
+++ b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf<br>
@@ -0,0 +1,29 @@<br>
+## @file<br>
+#  Null instance of MM Unblock Page Library.<br>
+#<br>
+#  This library provides an abstraction layer of requesting certain page access to be unblocked<br>
+#  by MM environment if applicable.<br>
+#<br>
+#  Copyright (c), Microsoft Corporation.<br>
+#  SPDX-License-Identifier: BSD-2-Clause-Patent<br>
+#<br>
+#<br>
+##<br>
+<br>
+[Defines]<br>
+  INF_VERSION                    = 0x0001001B<br>
+  BASE_NAME                      = DxeMmUnblockMemoryLibNull<br>
+  FILE_GUID                      = 9E890F68-5C95-4C31-95DD-59E6286F85EA<br>
+  MODULE_TYPE                    = BASE<br>
+  VERSION_STRING                 = 1.0<br>
+  LIBRARY_CLASS                  = DxeMmUnblockMemoryLib<br>
+<br>
+#<br>
+#  VALID_ARCHITECTURES           = IA32 X64<br>
+#<br>
+<br>
+[Sources]<br>
+  DxeMmUnblockMemoryLibNull.c<br>
+<br>
+[Packages]<br>
+  MdePkg/MdePkg.dec<br>
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec<br>
index 148395511034..1bb5017da2c5 100644<br>
--- a/MdeModulePkg/MdeModulePkg.dec<br>
+++ b/MdeModulePkg/MdeModulePkg.dec<br>
@@ -154,6 +154,11 @@ [LibraryClasses]<br>
   #<br>
   VariablePolicyHelperLib|Include/Library/VariablePolicyHelperLib.h<br>
 <br>
+  ##  @libraryclass  This library provides an interface for DXE drivers to request MM environment<br>
+  #   to map/unblock a memory region for accessibility inside MM.<br>
+  #<br>
+  DxeMmUnblockMemoryLib|Include/Library/DxeMmUnblockMemoryLib.h<br>
+<br>
 [Guids]<br>
   ## MdeModule package token space guid<br>
   # Include/Guid/MdeModulePkgTokenSpace.h<br>
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc<br>
index 7ca4a1bb3080..2bc6b8730b8b 100644<br>
--- a/MdeModulePkg/MdeModulePkg.dsc<br>
+++ b/MdeModulePkg/MdeModulePkg.dsc<br>
@@ -100,6 +100,7 @@ [LibraryClasses]<br>
   SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf<br>
   DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf<br>
   VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf<br>
+  DxeMmUnblockMemoryLib|MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf<br>
 <br>
 [LibraryClasses.EBC.PEIM]<br>
   IoLib|MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf<br>
@@ -332,6 +333,7 @@ [Components]<br>
   MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf<br>
   MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf<br>
   MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf<br>
+  MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf<br>
 <br>
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf<br>
   MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf<br>
-- <br>
2.30.0.windows.1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/72134">View/Reply Online (#72134)</a> |    |  <a target="_blank" href="https://groups.io/mt/80522083/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>