TianoCore EDK2 master
Loading...
Searching...
No Matches
MemEncryptTdxLib.h File Reference
#include <Base.h>

Go to the source code of this file.

Functions

BOOLEAN EFIAPI MemEncryptTdxIsEnabled (VOID)
 
RETURN_STATUS EFIAPI MemEncryptTdxSetPageSharedBit (IN PHYSICAL_ADDRESS Cr3BaseAddress, IN PHYSICAL_ADDRESS BaseAddress, IN UINTN NumPages)
 
RETURN_STATUS EFIAPI MemEncryptTdxClearPageSharedBit (IN PHYSICAL_ADDRESS Cr3BaseAddress, IN PHYSICAL_ADDRESS BaseAddress, IN UINTN NumPages)
 

Detailed Description

Define Memory Encrypted Virtualization base library helper function

Copyright (c) 2020, Intel Corporation. All rights reserved.
Copyright (c) 2017, AMD Incorporated. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file MemEncryptTdxLib.h.

Function Documentation

◆ MemEncryptTdxClearPageSharedBit()

RETURN_STATUS EFIAPI MemEncryptTdxClearPageSharedBit ( IN PHYSICAL_ADDRESS  Cr3BaseAddress,
IN PHYSICAL_ADDRESS  BaseAddress,
IN UINTN  NumPages 
)

This function sets memory encryption bit for the memory region specified by BaseAddress and NumPages from the current page table context.

Parameters
[in]Cr3BaseAddressCr3 Base Address (if zero then use current CR3)
[in]BaseAddressThe physical address that is the start address of a memory region.
[in]NumPagesThe number of pages from start memory region.
Return values
RETURN_SUCCESSThe attributes were set for the memory region.
RETURN_INVALID_PARAMETERNumber of pages is zero.
RETURN_UNSUPPORTEDSetting the memory encryption attribute is not supported

This function sets memory shared bit for the memory region specified by BaseAddress and NumPages from the current page table context.

Parameters
[in]Cr3BaseAddressCr3 Base Address (if zero then use current CR3)
[in]BaseAddressThe physical address that is the start address of a memory region.
[in]NumPagesThe number of pages from start memory region.
Return values
RETURN_SUCCESSThe attributes were set for the memory region.
RETURN_INVALID_PARAMETERNumber of pages is zero.
RETURN_UNSUPPORTEDSetting the memory encryption attribute is not supported

Definition at line 83 of file BaseMemoryEncryptionNull.c.

◆ MemEncryptTdxIsEnabled()

BOOLEAN EFIAPI MemEncryptTdxIsEnabled ( VOID  )

Returns boolean to indicate whether to indicate which, if any, memory encryption is enabled

Parameters
[in]TypeBitmask of encryption technologies to check is enabled
Return values
TRUEThe encryption type(s) are enabled
FALSEThe encryption type(s) are not enabled

Definition at line 29 of file BaseMemoryEncryptionNull.c.

◆ MemEncryptTdxSetPageSharedBit()

RETURN_STATUS EFIAPI MemEncryptTdxSetPageSharedBit ( IN PHYSICAL_ADDRESS  Cr3BaseAddress,
IN PHYSICAL_ADDRESS  BaseAddress,
IN UINTN  NumPages 
)

This function clears memory encryption bit for the memory region specified by BaseAddress and NumPages from the current page table context.

Parameters
[in]Cr3BaseAddressCr3 Base Address (if zero then use current CR3)
[in]BaseAddressThe physical address that is the start address of a memory region.
[in]NumPagesThe number of pages from start memory region.
Return values
RETURN_SUCCESSThe attributes were cleared for the memory region.
RETURN_INVALID_PARAMETERNumber of pages is zero.
RETURN_UNSUPPORTEDClearing the memory encryption attribute is not supported

This function clears memory shared bit for the memory region specified by BaseAddress and NumPages from the current page table context.

Parameters
[in]Cr3BaseAddressCr3 Base Address (if zero then use current CR3)
[in]BaseAddressThe physical address that is the start address of a memory region.
[in]NumPagesThe number of pages from start memory region.
Return values
RETURN_SUCCESSThe attributes were cleared for the memory region.
RETURN_INVALID_PARAMETERNumber of pages is zero.
RETURN_UNSUPPORTEDClearing the memory encryption attribute is not supported

Definition at line 55 of file BaseMemoryEncryptionNull.c.