TianoCore EDK2 master
Loading...
Searching...
No Matches
VariableTraditionalMm.c File Reference

Go to the source code of this file.

Functions

BOOLEAN VariableSmmIsPrimaryBufferValid (IN EFI_PHYSICAL_ADDRESS Buffer, IN UINT64 Length)
 
BOOLEAN VariableSmmIsNonPrimaryBufferValid (IN EFI_PHYSICAL_ADDRESS Buffer, IN UINT64 Length)
 
VOID VariableNotifySmmReady (VOID)
 
VOID VariableNotifySmmWriteReady (VOID)
 
EFI_STATUS EFIAPI VariableServiceInitialize (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 
BOOLEAN VariableIsMorVariableLegitimate (VOID)
 

Detailed Description

Parts of the SMM/MM implementation that are specific to traditional MM

Copyright (c) 2011 - 2024, Intel Corporation. All rights reserved.
Copyright (c) 2018, Linaro, Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file VariableTraditionalMm.c.

Function Documentation

◆ VariableIsMorVariableLegitimate()

BOOLEAN VariableIsMorVariableLegitimate ( VOID  )

Whether the TCG or TCG2 protocols are installed in the UEFI protocol database. This information is used by the MorLock code to infer whether an existing MOR variable is legitimate or not.

Return values
TRUEEither the TCG or TCG2 protocol is installed in the UEFI protocol database. MOR variable is legitimate.
FALSENeither the TCG nor the TCG2 protocol is installed in the UEFI protocol database. MOR variable is not legitimate.

Definition at line 126 of file VariableTraditionalMm.c.

◆ VariableNotifySmmReady()

VOID VariableNotifySmmReady ( VOID  )

Notify the system that the SMM variable driver is ready.

Definition at line 58 of file VariableTraditionalMm.c.

◆ VariableNotifySmmWriteReady()

VOID VariableNotifySmmWriteReady ( VOID  )

Notify the system that the SMM variable write driver is ready.

Definition at line 79 of file VariableTraditionalMm.c.

◆ VariableServiceInitialize()

EFI_STATUS EFIAPI VariableServiceInitialize ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

Variable service MM driver entry point

Parameters
[in]ImageHandleA handle for the image that is initializing this driver
[in]SystemTableA pointer to the EFI system table
Return values
EFI_SUCCESSVariable service successfully initialized.

Definition at line 107 of file VariableTraditionalMm.c.

◆ VariableSmmIsNonPrimaryBufferValid()

BOOLEAN VariableSmmIsNonPrimaryBufferValid ( IN EFI_PHYSICAL_ADDRESS  Buffer,
IN UINT64  Length 
)

This function checks if the buffer is valid per processor architecture and does not overlap with SMRAM.

Parameters
BufferThe buffer start address to be checked.
LengthThe buffer length to be checked.
Return values
TRUEThis buffer is valid per processor architecture and does not overlap with SMRAM.
FALSEThis buffer is not valid per processor architecture or overlaps with SMRAM.

Definition at line 46 of file VariableTraditionalMm.c.

◆ VariableSmmIsPrimaryBufferValid()

BOOLEAN VariableSmmIsPrimaryBufferValid ( IN EFI_PHYSICAL_ADDRESS  Buffer,
IN UINT64  Length 
)

This function checks if the Primary Buffer (CommBuffer) is valid.

Parameters
BufferThe buffer start address to be checked.
LengthThe buffer length to be checked.
Return values
TRUEThis buffer is valid.
FALSEThis buffer is not valid.

Definition at line 25 of file VariableTraditionalMm.c.