TianoCore EDK2 master
|
#include "CpuDxe.h"
Go to the source code of this file.
Functions | |
STATIC BOOLEAN | RegionIsSystemMemory (IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
STATIC EFI_STATUS | GetMemoryAttributes (IN EFI_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, OUT UINT64 *Attributes) |
STATIC EFI_STATUS | SetMemoryAttributes (IN EFI_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes) |
STATIC EFI_STATUS | ClearMemoryAttributes (IN EFI_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes) |
Variables | |
EFI_MEMORY_ATTRIBUTE_PROTOCOL | mMemoryAttribute |
Copyright (c) 2023, Google LLC. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file MemoryAttribute.c.
STATIC EFI_STATUS ClearMemoryAttributes | ( | IN EFI_MEMORY_ATTRIBUTE_PROTOCOL * | This, |
IN EFI_PHYSICAL_ADDRESS | BaseAddress, | ||
IN UINT64 | Length, | ||
IN UINT64 | Attributes | ||
) |
This function clears given attributes of the memory region specified by BaseAddress and Length.
The valid Attributes is EFI_MEMORY_RP, EFI_MEMORY_XP, and EFI_MEMORY_RO.
This | The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance. |
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Attributes | The bit mask of attributes to clear for the memory region. |
EFI_SUCCESS | The attributes were cleared for the memory region. |
EFI_INVALID_PARAMETER | Length is zero. Attributes specified an illegal combination of attributes that cannot be cleared together. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. |
EFI_OUT_OF_RESOURCES | Requested attributes cannot be applied due to lack of system resources. |
EFI_ACCESS_DENIED | Attributes for the requested memory region are controlled by system firmware and cannot be updated via the protocol. |
Definition at line 254 of file MemoryAttribute.c.
STATIC EFI_STATUS GetMemoryAttributes | ( | IN EFI_MEMORY_ATTRIBUTE_PROTOCOL * | This, |
IN EFI_PHYSICAL_ADDRESS | BaseAddress, | ||
IN UINT64 | Length, | ||
OUT UINT64 * | Attributes | ||
) |
This function retrieves the attributes of the memory region specified by BaseAddress and Length. If different attributes are obtained from different parts of the memory region, EFI_NO_MAPPING will be returned.
This | The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance. |
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Attributes | Pointer to attributes returned. |
EFI_SUCCESS | The attributes got for the memory region. |
EFI_INVALID_PARAMETER | Length is zero. Attributes is NULL. |
EFI_NO_MAPPING | Attributes are not consistent cross the memory region. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. |
Definition at line 70 of file MemoryAttribute.c.
STATIC BOOLEAN RegionIsSystemMemory | ( | IN EFI_PHYSICAL_ADDRESS | BaseAddress, |
IN UINT64 | Length | ||
) |
Check whether the provided memory range is covered by a single entry of type EfiGcdSystemMemory in the GCD memory map.
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Definition at line 23 of file MemoryAttribute.c.
STATIC EFI_STATUS SetMemoryAttributes | ( | IN EFI_MEMORY_ATTRIBUTE_PROTOCOL * | This, |
IN EFI_PHYSICAL_ADDRESS | BaseAddress, | ||
IN UINT64 | Length, | ||
IN UINT64 | Attributes | ||
) |
This function set given attributes of the memory region specified by BaseAddress and Length.
The valid Attributes is EFI_MEMORY_RP, EFI_MEMORY_XP, and EFI_MEMORY_RO.
This | The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance. |
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Attributes | The bit mask of attributes to set for the memory region. |
EFI_SUCCESS | The attributes were set for the memory region. |
EFI_INVALID_PARAMETER | Length is zero. Attributes specified an illegal combination of attributes that cannot be set together. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. |
EFI_OUT_OF_RESOURCES | Requested attributes cannot be applied due to lack of system resources. |
EFI_ACCESS_DENIED | Attributes for the requested memory region are controlled by system firmware and cannot be updated via the protocol. |
Definition at line 186 of file MemoryAttribute.c.
EFI_MEMORY_ATTRIBUTE_PROTOCOL mMemoryAttribute |
Definition at line 290 of file MemoryAttribute.c.