]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Library/MmUnblockMemoryLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Library / MmUnblockMemoryLib.h
CommitLineData
7cda5d9e
KQ
1/** @file\r
2 MM Unblock Memory Library Interface.\r
3\r
4 This library provides an interface to request non-MMRAM pages to be mapped/unblocked\r
5 from inside MM environment.\r
6\r
7 For MM modules that need to access regions outside of MMRAMs, the agents that set up\r
8 these regions are responsible for invoking this API in order for these memory areas\r
9 to be accessed from inside MM.\r
10\r
11 Copyright (c) Microsoft Corporation.\r
12 SPDX-License-Identifier: BSD-2-Clause-Patent\r
13\r
14**/\r
15\r
16#ifndef MM_UNBLOCK_MEMORY_LIB_H_\r
17#define MM_UNBLOCK_MEMORY_LIB_H_\r
18\r
19/**\r
20 This API provides a way to unblock certain data pages to be accessible inside MM environment.\r
21\r
22 @param UnblockAddress The address of buffer caller requests to unblock, the address\r
23 has to be page aligned.\r
24 @param NumberOfPages The number of pages requested to be unblocked from MM\r
25 environment.\r
26\r
27 @retval RETURN_SUCCESS The request goes through successfully.\r
28 @retval RETURN_NOT_AVAILABLE_YET The requested functionality is not produced yet.\r
29 @retval RETURN_UNSUPPORTED The requested functionality is not supported on current platform.\r
30 @retval RETURN_SECURITY_VIOLATION The requested address failed to pass security check for\r
31 unblocking.\r
32 @retval RETURN_INVALID_PARAMETER Input address either NULL pointer or not page aligned.\r
33 @retval RETURN_ACCESS_DENIED The request is rejected due to system has passed certain boot\r
34 phase.\r
35\r
36**/\r
37RETURN_STATUS\r
38EFIAPI\r
39MmUnblockMemoryRequest (\r
2f88bd3a
MK
40 IN PHYSICAL_ADDRESS UnblockAddress,\r
41 IN UINT64 NumberOfPages\r
42 );\r
7cda5d9e
KQ
43\r
44#endif // MM_UNBLOCK_MEMORY_LIB_H_\r