TianoCore EDK2 master
Loading...
Searching...
No Matches
MmUnblockMemoryLib.h File Reference

Go to the source code of this file.

Functions

RETURN_STATUS EFIAPI MmUnblockMemoryRequest (IN PHYSICAL_ADDRESS UnblockAddress, IN UINT64 NumberOfPages)
 

Detailed Description

MM Unblock Memory Library Interface.

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

Definition in file MmUnblockMemoryLib.h.

Function Documentation

◆ MmUnblockMemoryRequest()

RETURN_STATUS EFIAPI MmUnblockMemoryRequest ( IN EFI_PHYSICAL_ADDRESS  UnblockAddress,
IN UINT64  NumberOfPages 
)

This API provides a way to unblock certain data pages to be accessible inside MM environment.

Parameters
UnblockAddressThe address of buffer caller requests to unblock, the address has to be page aligned.
NumberOfPagesThe number of pages requested to be unblocked from MM environment.
Return values
RETURN_SUCCESSThe request goes through successfully.
RETURN_NOT_AVAILABLE_YETThe requested functionality is not produced yet.
RETURN_UNSUPPORTEDThe requested functionality is not supported on current platform.
RETURN_SECURITY_VIOLATIONThe requested address failed to pass security check for unblocking.
RETURN_INVALID_PARAMETERInput address either NULL pointer or not page aligned.
RETURN_ACCESS_DENIEDThe request is rejected due to system has passed certain boot phase.

This API provides a way to unblock certain data pages to be accessible inside MM environment.

Parameters
UnblockAddressThe address of buffer caller requests to unblock, the address has to be page aligned.
NumberOfPagesThe number of pages requested to be unblocked from MM environment.
Return values
RETURN_SUCCESSThe request goes through successfully.
RETURN_NOT_AVAILABLE_YETThe requested functionality is not produced yet.
RETURN_UNSUPPORTEDThe requested functionality is not supported on current platform.
RETURN_SECURITY_VIOLATIONThe requested address failed to pass security check for unblocking.
RETURN_INVALID_PARAMETERInput address either NULL pointer or not page aligned.
RETURN_INVALID_PARAMETERInput range to unblock contains invalid types memory other than EfiRuntimeServicesData, EfiACPIMemoryNVS, and EfiReservedMemory.
RETURN_INVALID_PARAMETERInput range to unblock contains memory that doesn't belong to any memory allocation HOB.
RETURN_ACCESS_DENIEDThe request is rejected due to system has passed certain boot phase.

Definition at line 38 of file MmUnblockMemoryLibNull.c.