2 MM Unblock Memory Library Interface.
4 This library provides an interface to request non-MMRAM pages to be mapped/unblocked
5 from inside MM environment.
7 For MM modules that need to access regions outside of MMRAMs, the agents that set up
8 these regions are responsible for invoking this API in order for these memory areas
9 to be accessed from inside MM.
11 Copyright (c) Microsoft Corporation.
12 SPDX-License-Identifier: BSD-2-Clause-Patent
16 #ifndef MM_UNBLOCK_MEMORY_LIB_H_
17 #define MM_UNBLOCK_MEMORY_LIB_H_
20 This API provides a way to unblock certain data pages to be accessible inside MM environment.
22 @param UnblockAddress The address of buffer caller requests to unblock, the address
23 has to be page aligned.
24 @param NumberOfPages The number of pages requested to be unblocked from MM
27 @retval RETURN_SUCCESS The request goes through successfully.
28 @retval RETURN_NOT_AVAILABLE_YET The requested functionality is not produced yet.
29 @retval RETURN_UNSUPPORTED The requested functionality is not supported on current platform.
30 @retval RETURN_SECURITY_VIOLATION The requested address failed to pass security check for
32 @retval RETURN_INVALID_PARAMETER Input address either NULL pointer or not page aligned.
33 @retval RETURN_ACCESS_DENIED The request is rejected due to system has passed certain boot
39 MmUnblockMemoryRequest (
40 IN PHYSICAL_ADDRESS UnblockAddress
,
41 IN UINT64 NumberOfPages
44 #endif // MM_UNBLOCK_MEMORY_LIB_H_