TianoCore EDK2 master
|
#include <Uefi.h>
#include <IndustryStandard/ArmMmSvc.h>
#include <IndustryStandard/ArmFfaSvc.h>
#include <Library/ArmLib.h>
#include <Library/ArmMmuLib.h>
#include <Library/ArmSvcLib.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
Go to the source code of this file.
Functions | |
STATIC EFI_STATUS | SendMemoryPermissionRequest (IN OUT ARM_SVC_ARGS *SvcArgs, OUT INT32 *RetVal) |
STATIC EFI_STATUS | GetMemoryPermissions (IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT UINT32 *MemoryAttributes) |
STATIC EFI_STATUS | RequestMemoryPermissionChange (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT32 Permissions) |
EFI_STATUS | ArmSetMemoryRegionNoExec (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
EFI_STATUS | ArmClearMemoryRegionNoExec (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
EFI_STATUS | ArmSetMemoryRegionReadOnly (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
EFI_STATUS | ArmClearMemoryRegionReadOnly (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
File managing the MMU for ARMv8 architecture in S-EL0
Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.
Copyright (c) 2021, Linaro Limited SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file ArmMmuStandaloneMmLib.c.
EFI_STATUS ArmClearMemoryRegionNoExec | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length | ||
) |
Definition at line 264 of file ArmMmuStandaloneMmLib.c.
EFI_STATUS ArmClearMemoryRegionReadOnly | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length | ||
) |
Definition at line 310 of file ArmMmuStandaloneMmLib.c.
EFI_STATUS ArmSetMemoryRegionNoExec | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length | ||
) |
Definition at line 241 of file ArmMmuStandaloneMmLib.c.
EFI_STATUS ArmSetMemoryRegionReadOnly | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length | ||
) |
Definition at line 287 of file ArmMmuStandaloneMmLib.c.
STATIC EFI_STATUS GetMemoryPermissions | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
OUT UINT32 * | MemoryAttributes | ||
) |
Request the permission attributes of a memory region from S-EL0.
[in] | BaseAddress | Base address for the memory region. |
[out] | MemoryAttributes | Pointer to return the memory attributes. |
EFI_SUCCESS | Request successfull. |
EFI_INVALID_PARAMETER | A parameter is invalid. |
EFI_NOT_READY | Callee is busy or not in a state to handle this request. |
EFI_UNSUPPORTED | This function is not implemented by the callee. |
EFI_ABORTED | Message target ran into an unexpected error and has aborted. |
EFI_ACCESS_DENIED | Access denied. |
EFI_OUT_OF_RESOURCES | Out of memory to perform operation. |
Definition at line 150 of file ArmMmuStandaloneMmLib.c.
STATIC EFI_STATUS RequestMemoryPermissionChange | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length, | ||
IN UINT32 | Permissions | ||
) |
Set the permission attributes of a memory region from S-EL0.
[in] | BaseAddress | Base address for the memory region. |
[in] | Length | Length of the memory region. |
[in] | Permissions | Memory access controls attributes. |
EFI_SUCCESS | Request successfull. |
EFI_INVALID_PARAMETER | A parameter is invalid. |
EFI_NOT_READY | Callee is busy or not in a state to handle this request. |
EFI_UNSUPPORTED | This function is not implemented by the callee. |
EFI_ABORTED | Message target ran into an unexpected error and has aborted. |
EFI_ACCESS_DENIED | Access denied. |
EFI_OUT_OF_RESOURCES | Out of memory to perform operation. |
Definition at line 209 of file ArmMmuStandaloneMmLib.c.
STATIC EFI_STATUS SendMemoryPermissionRequest | ( | IN OUT ARM_SVC_ARGS * | SvcArgs, |
OUT INT32 * | RetVal | ||
) |
Send memory permission request to target.
[in,out] | SvcArgs | Pointer to SVC arguments to send. On return it contains the response parameters. |
[out] | RetVal | Pointer to return the response value. |
EFI_SUCCESS | Request successfull. |
EFI_INVALID_PARAMETER | A parameter is invalid. |
EFI_NOT_READY | Callee is busy or not in a state to handle this request. |
EFI_UNSUPPORTED | This function is not implemented by the callee. |
EFI_ABORTED | Message target ran into an unexpected error and has aborted. |
EFI_ACCESS_DENIED | Access denied. |
EFI_OUT_OF_RESOURCES | Out of memory to perform operation. |
Definition at line 47 of file ArmMmuStandaloneMmLib.c.