audk/MdePkg/Library
Kun Qin 7cda5d9e3a 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>
2021-03-05 15:25:07 +00:00
..
BaseCacheMaintenanceLib MdePkg/BaseCacheMaintenanceLib: 2020-05-07 03:17:15 +00:00
BaseCacheMaintenanceLibNull MdePkg/BaseCacheMaintenanceLibNull: Add Null instance for host testing 2020-07-15 05:25:21 +00:00
BaseCpuLib MdePkg/BaseCpuLib: RISC-V Base CPU library 2020-05-07 03:17:15 +00:00
BaseCpuLibNull MdePkg/BaseCpuLibNull: Add Null version of CpuLib for host testing 2020-07-15 05:25:21 +00:00
BaseDebugLibNull
BaseDebugLibSerialPort
BaseDebugPrintErrorLevelLib
BaseExtractGuidedSectionLib
BaseIoLibIntrinsic MdePkg/BaseIoLibIntrinsic: Rename IoLibArm.c=>IoLibNoIo.c 2020-05-07 03:17:15 +00:00
BaseLib MdePkg/BaseLib: Fix invalid memory access in AArch64 SetJump/LongJump 2020-10-13 03:20:49 +00:00
BaseMemoryLib
BaseMemoryLibMmx
BaseMemoryLibOptDxe MdePkg/BaseMemoryLibOptDxe: Apply BSD-2-Clause-Patent 2020-08-06 20:20:40 +00:00
BaseMemoryLibOptPei
BaseMemoryLibRepStr
BaseMemoryLibSse2 BaseMemoryLibSse2: Take advantage of write combining buffers 2020-10-16 01:12:05 +00:00
BaseOrderedCollectionRedBlackTreeLib
BasePcdLibNull MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
BasePciCf8Lib
BasePciExpressLib MdePkg: PciExpressLib support variable size MMCONF 2020-09-16 06:36:18 +00:00
BasePciLibCf8
BasePciLibPciExpress
BasePciSegmentInfoLibNull MdePkg/PciSegmentInfoLib: Add missing EFIAPI to GetPciSegmentInfo() 2020-06-24 05:46:27 +00:00
BasePciSegmentLibPci
BasePeCoffExtraActionLibNull
BasePeCoffGetEntryPointLib
BasePeCoffLib MdePkg/BasePeCoff: Add RISC-V PE/Coff related code. 2020-05-07 03:17:15 +00:00
BasePerformanceLibNull
BasePostCodeLibDebug
BasePostCodeLibPort80
BasePrintLib MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
BaseReportStatusCodeLibNull
BaseRngLib
BaseRngLibNull MdePkg: add null version of RngLib 2019-11-14 01:32:15 +00:00
BaseRngLibTimerLib MdePkg: TimerRngLib: Added RngLib that uses TimerLib 2020-09-18 02:19:21 +00:00
BaseS3BootScriptLibNull
BaseS3IoLib
BaseS3PciLib
BaseS3PciSegmentLib
BaseS3SmbusLib
BaseS3StallLib
BaseSafeIntLib MdePkg/BaseSafeIntLib: Add RISCV64 arch for BaseSafeIntLib. 2020-05-07 03:17:15 +00:00
BaseSerialPortLibNull
BaseSmbusLibNull
BaseStackCheckLib MdePkg/Library/BaseStackCheckLib: Fix PCD type in INF 2020-07-15 05:25:21 +00:00
BaseSynchronizationLib MdePkg/BaseSynchronizationLib: RISC-V cache related code. 2020-05-07 03:17:15 +00:00
BaseTimerLibNullTemplate
BaseUefiDecompressLib MdePkg/BaseUefiDecompressLib: Add missing description for parameter 2019-08-13 17:16:14 +08:00
DxeCoreEntryPoint
DxeCoreHobLib
DxeExtractGuidedSectionLib MdePkg/Library/Dxe: Fix various typos 2020-02-10 22:30:07 +00:00
DxeHobLib MdePkg/Library/Dxe: Fix various typos 2020-02-10 22:30:07 +00:00
DxeHstiLib MdePkg/DxeHstiLib: Added checks to improve error handling. 2019-09-02 12:17:56 +08:00
DxeIoLibCpuIo2 MdePkg/Library/Dxe: Fix various typos 2020-02-10 22:30:07 +00:00
DxePcdLib MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
DxeRngLib MdePkg/BaseRngLibDxe: Add DXE_RUNTIME_DRIVER class to RngLib 2020-11-13 03:39:41 +00:00
DxeRuntimeDebugLibSerialPort MdePkg: Do not use CreateEventEx unless required 2020-01-10 03:25:59 +00:00
DxeRuntimePciExpressLib MdePkg: PciExpressLib support variable size MMCONF 2020-09-16 06:36:18 +00:00
DxeServicesLib MdePkg/DxeServicesLib: Add RISC-V architecture 2020-04-03 17:09:12 +00:00
DxeServicesTableLib MdePkg/Library/Dxe: Fix various typos 2020-02-10 22:30:07 +00:00
DxeSmbusLib MdePkg/Library/Dxe: Fix various typos 2020-02-10 22:30:07 +00:00
MmServicesTableLib
MmUnblockMemoryLib MdePkg: MmUnblockMemoryLib: Added definition and null instance 2021-03-05 15:25:07 +00:00
PciSegmentLibSegmentInfo MdePkg/Library/Pci: Fix various typos 2020-02-10 22:30:07 +00:00
PeiCoreEntryPoint
PeiDxePostCodeLibReportStatusCode
PeiExtractGuidedSectionLib
PeiHobLib
PeiIoLibCpuIo
PeiMemoryAllocationLib
PeiMemoryLib
PeiPcdLib MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
PeiPciLibPciCfg2
PeiPciSegmentLibPciCfg2
PeiResourcePublicationLib
PeiServicesLib
PeiServicesTablePointerLib
PeiServicesTablePointerLibIdt
PeiSmbusLibSmbus2Ppi
PeimEntryPoint
SecPeiDxeTimerLibCpu
SmiHandlerProfileLibNull MdePkg/SmiHandlerProfileLibNull: Add MM_STANDALONE support 2021-02-01 01:40:38 +00:00
SmmIoLib
SmmIoLibSmmCpuIo2
SmmLibNull
SmmMemLib MdePkg/Library/Smm: Fix various typos 2020-02-10 22:30:07 +00:00
SmmMemoryAllocationLib
SmmPciExpressLib MdePkg: PciExpressLib support variable size MMCONF 2020-09-16 06:36:18 +00:00
SmmPciLibPciRootBridgeIo MdePkg/Library/Smm: Fix various typos 2020-02-10 22:30:07 +00:00
SmmPeriodicSmiLib MdePkg/Library/Smm: Fix various typos 2020-02-10 22:30:07 +00:00
SmmServicesTableLib MdePkg/Library/Smm: Fix various typos 2020-02-10 22:30:07 +00:00
StandaloneMmDriverEntryPoint
StandaloneMmServicesTableLib
UefiApplicationEntryPoint
UefiBootServicesTableLib
UefiDebugLibConOut MdePkg: Do not use CreateEventEx unless required 2020-01-10 03:25:59 +00:00
UefiDebugLibDebugPortProtocol MdePkg: Do not use CreateEventEx unless required 2020-01-10 03:25:59 +00:00
UefiDebugLibStdErr MdePkg: Do not use CreateEventEx unless required 2020-01-10 03:25:59 +00:00
UefiDevicePathLib MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under StandaloneMm 2021-02-01 10:03:35 -08:00
UefiDevicePathLibDevicePathProtocol
UefiDriverEntryPoint
UefiFileHandleLib MdePkg: UefiFileHandleLib: fix buffer overrun in FileHandleReadLine() 2020-08-24 15:48:29 +00:00
UefiLib MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
UefiMemoryAllocationLib
UefiMemoryLib
UefiPciLibPciRootBridgeIo
UefiPciSegmentLibPciRootBridgeIo
UefiRuntimeLib MdePkg: Do not use CreateEventEx unless required 2020-01-10 03:25:59 +00:00
UefiRuntimeServicesTableLib
UefiScsiLib MdePkg/UefiScsiLib: Set FUA bit for synchronous SCSI Write operations 2020-04-15 01:13:04 +00:00
UefiUsbLib