]> git.proxmox.com Git - mirror_edk2.git/commit - MdePkg/MdePkg.dec
MdePkg: MmUnblockMemoryLib: Added definition and null instance
authorKun Qin <kun.q@outlook.com>
Fri, 5 Mar 2021 04:12:47 +0000 (20:12 -0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 5 Mar 2021 15:25:07 +0000 (15:25 +0000)
commit7cda5d9e3a4b6e5258d128220a329334d5510fc4
tree7059de7a1ba20dce248fcdbe9e65b151f603febf
parentc5740f360636479fb91681093b1dee1cc366075c
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>
MdePkg/Include/Library/MmUnblockMemoryLib.h [new file with mode: 0644]
MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.c [new file with mode: 0644]
MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf [new file with mode: 0644]
MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.uni [new file with mode: 0644]
MdePkg/MdePkg.dec
MdePkg/MdePkg.dsc