TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
UINT64 EFIAPI | InternalGetMemEncryptionAddressMask (VOID) |
RETURN_STATUS EFIAPI | InternalMemEncryptSevSetMemoryDecrypted (IN PHYSICAL_ADDRESS Cr3BaseAddress, IN PHYSICAL_ADDRESS PhysicalAddress, IN UINTN Length) |
RETURN_STATUS EFIAPI | InternalMemEncryptSevSetMemoryEncrypted (IN PHYSICAL_ADDRESS Cr3BaseAddress, IN PHYSICAL_ADDRESS PhysicalAddress, IN UINTN Length) |
RETURN_STATUS EFIAPI | InternalMemEncryptSevClearMmioPageEncMask (IN PHYSICAL_ADDRESS Cr3BaseAddress, IN PHYSICAL_ADDRESS PhysicalAddress, IN UINTN Length) |
Virtual Memory Management Services to set or clear the memory encryption bit
Copyright (c) 2020, AMD Incorporated. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SecVirtualMemory.c.
UINT64 EFIAPI InternalGetMemEncryptionAddressMask | ( | VOID | ) |
Return the pagetable memory encryption mask.
Definition at line 24 of file SecVirtualMemory.c.
RETURN_STATUS EFIAPI InternalMemEncryptSevClearMmioPageEncMask | ( | IN PHYSICAL_ADDRESS | Cr3BaseAddress, |
IN PHYSICAL_ADDRESS | PhysicalAddress, | ||
IN UINTN | Length | ||
) |
This function clears memory encryption bit for the MMIO region specified by PhysicalAddress and Length.
[in] | Cr3BaseAddress | Cr3 Base Address (if zero then use current CR3) |
[in] | PhysicalAddress | The physical address that is the start address of a MMIO region. |
[in] | Length | The length of memory region |
RETURN_SUCCESS | The attributes were cleared for the memory region. |
RETURN_INVALID_PARAMETER | Length is zero. |
RETURN_UNSUPPORTED | Clearing the memory encyrption attribute is not supported |
Definition at line 116 of file SecVirtualMemory.c.
RETURN_STATUS EFIAPI InternalMemEncryptSevSetMemoryDecrypted | ( | IN PHYSICAL_ADDRESS | Cr3BaseAddress, |
IN PHYSICAL_ADDRESS | PhysicalAddress, | ||
IN UINTN | Length | ||
) |
This function clears memory encryption bit for the memory region specified by PhysicalAddress and Length from the current page table context.
[in] | Cr3BaseAddress | Cr3 Base Address (if zero then use current CR3) |
[in] | PhysicalAddress | The physical address that is the start address of a memory region. |
[in] | Length | The length of memory region |
RETURN_SUCCESS | The attributes were cleared for the memory region. |
RETURN_INVALID_PARAMETER | Number of pages is zero. |
RETURN_UNSUPPORTED | Clearing the memory encyrption attribute is not supported |
Definition at line 54 of file SecVirtualMemory.c.
RETURN_STATUS EFIAPI InternalMemEncryptSevSetMemoryEncrypted | ( | IN PHYSICAL_ADDRESS | Cr3BaseAddress, |
IN PHYSICAL_ADDRESS | PhysicalAddress, | ||
IN UINTN | Length | ||
) |
This function sets memory encryption bit for the memory region specified by PhysicalAddress and Length from the current page table context.
[in] | Cr3BaseAddress | Cr3 Base Address (if zero then use current CR3) |
[in] | PhysicalAddress | The physical address that is the start address of a memory region. |
[in] | Length | The length of memory region |
[in] | Flush | Flush the caches before applying the encryption mask |
RETURN_SUCCESS | The attributes were set for the memory region. |
RETURN_INVALID_PARAMETER | Number of pages is zero. |
RETURN_UNSUPPORTED | Setting the memory encyrption attribute is not supported |
Definition at line 86 of file SecVirtualMemory.c.