summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
diff options
context:
space:
mode:
authorKun Qin <kun.q@outlook.com>2021-03-04 20:12:47 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-03-05 15:25:07 +0000
commit7cda5d9e3a4b6e5258d128220a329334d5510fc4 (patch)
tree7059de7a1ba20dce248fcdbe9e65b151f603febf /MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
parentc5740f360636479fb91681093b1dee1cc366075c (diff)
downloadedk2-7cda5d9e3a4b6e5258d128220a329334d5510fc4.tar.gz
edk2-7cda5d9e3a4b6e5258d128220a329334d5510fc4.tar.bz2
edk2-7cda5d9e3a4b6e5258d128220a329334d5510fc4.zip
MdePkg: MmUnblockMemoryLib: Added definition and null instance
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3168 This interface provides an abstration layer to allow MM modules to access requested areas that are outside of MMRAM. On MM model that blocks all non-MMRAM accesses, areas requested through this API will be mapped or unblocked for accessibility inside MM environment. For MM modules that need to access regions outside of MMRAMs, the agents that set up these regions are responsible for invoking this API in order for these memory areas to be accessible from inside MM. Example usages: 1. To enable runtime cache feature for variable service, Variable MM module will need to access the allocated runtime buffer. Thus the agent sets up these buffers, VariableSmmRuntimeDxe, will need to invoke this API to make these regions accessible by Variable MM. 2. For TPM ACPI table to communicate to physical presence handler, the corresponding NVS region has to be accessible from inside MM. Once the NVS region are assigned, it needs to be unblocked thourgh this API. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Kun Qin <kun.q@outlook.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Message-Id: <MWHPR06MB31028AF0D0785B93E4E7CF63F3969@MWHPR06MB3102.namprd06.prod.outlook.com>
Diffstat (limited to 'MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf')
-rw-r--r--MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf34
1 files changed, 34 insertions, 0 deletions
diff --git a/MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf b/MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
new file mode 100644
index 0000000000..8ecb767ff7
--- /dev/null
+++ b/MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
@@ -0,0 +1,34 @@
+## @file
+# Null instance of MM Unblock Page Library.
+#
+# This library provides an interface to request non-MMRAM pages to be mapped/unblocked
+# from inside MM environment.
+#
+# For MM modules that need to access regions outside of MMRAMs, the agents that set up
+# these regions are responsible for invoking this API in order for these memory areas
+# to be accessed from inside MM.
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+#
+##
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = MmUnblockMemoryLibNull
+ MODULE_UNI_FILE = MmUnblockMemoryLibNull.uni
+ FILE_GUID = 9E890F68-5C95-4C31-95DD-59E6286F85EA
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = MmUnblockMemoryLib
+
+#
+# VALID_ARCHITECTURES = IA32 X64
+#
+
+[Sources]
+ MmUnblockMemoryLibNull.c
+
+[Packages]
+ MdePkg/MdePkg.dec