TianoCore EDK2 master
Loading...
Searching...
No Matches
Tcg2Smm.h File Reference

Go to the source code of this file.

Macros

#define ACPI_FUNCTION_DSM_MEMORY_CLEAR_INTERFACE   1
 
#define ACPI_FUNCTION_PTS_CLEAR_MOR_BIT   2
 
#define MOR_REQUEST_SUCCESS   0
 
#define MOR_REQUEST_GENERAL_FAILURE   1
 

Functions

VOID Tcg2NotifyMmReady (VOID)
 
BOOLEAN Tcg2IsPrimaryBufferValid (IN EFI_PHYSICAL_ADDRESS Buffer, IN UINT64 Length)
 
BOOLEAN Tcg2IsNonPrimaryBufferValid (IN EFI_PHYSICAL_ADDRESS Buffer, IN UINT64 Length)
 
EFI_STATUS InitializeTcgCommon (VOID)
 
BOOLEAN IsTpm20Dtpm (VOID)
 

Detailed Description

The header file for Tcg2 SMM driver.

Copyright (c) 2015 - 2024, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation. SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Tcg2Smm.h.

Macro Definition Documentation

◆ ACPI_FUNCTION_DSM_MEMORY_CLEAR_INTERFACE

#define ACPI_FUNCTION_DSM_MEMORY_CLEAR_INTERFACE   1

Definition at line 40 of file Tcg2Smm.h.

◆ ACPI_FUNCTION_PTS_CLEAR_MOR_BIT

#define ACPI_FUNCTION_PTS_CLEAR_MOR_BIT   2

Definition at line 41 of file Tcg2Smm.h.

◆ MOR_REQUEST_GENERAL_FAILURE

#define MOR_REQUEST_GENERAL_FAILURE   1

Definition at line 47 of file Tcg2Smm.h.

◆ MOR_REQUEST_SUCCESS

#define MOR_REQUEST_SUCCESS   0

Definition at line 46 of file Tcg2Smm.h.

Function Documentation

◆ InitializeTcgCommon()

EFI_STATUS InitializeTcgCommon ( VOID  )

The driver's common initialization routine.

It install callbacks for TPM physical presence and MemoryClear, and locate SMM variable to be used in the callback function.

Return values
EFI_SUCCESSThe entry point is executed successfully.
OthersSome error occurs when executing this entry point.

Definition at line 214 of file Tcg2Smm.c.

◆ IsTpm20Dtpm()

BOOLEAN IsTpm20Dtpm ( VOID  )

This function checks if the required DTPM instance is TPM 2.0.

Return values
TRUEThe required DTPM instance is equal to gEfiTpmDeviceInstanceTpm20DtpmGuid.
FALSEThe required DTPM instance is not equal to gEfiTpmDeviceInstanceTpm20DtpmGuid.

Definition at line 80 of file Tcg2StandaloneMm.c.

◆ Tcg2IsNonPrimaryBufferValid()

BOOLEAN Tcg2IsNonPrimaryBufferValid ( IN EFI_PHYSICAL_ADDRESS  Buffer,
IN UINT64  Length 
)

This function is for the NonPrimary Buffer validation routine. The NonPrimary Buffer is the buffer which might be pointed from the communication buffer.

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.

This function is for the Secondary Buffer validation routine. The Secondary Buffer is the buffer which is pointed from the communication buffer.

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.

This function is for the NonPrimary Buffer validation routine. The NonPrimary Buffer is the buffer which is pointed from the communication buffer.

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 65 of file Tcg2StandaloneMm.c.

◆ Tcg2IsPrimaryBufferValid()

BOOLEAN Tcg2IsPrimaryBufferValid ( IN EFI_PHYSICAL_ADDRESS  Buffer,
IN UINT64  Length 
)

This function is for the Primary Buffer validation routine. The Primary Buffer is the communication buffer requested from Communicate protocol/PPI.

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.

This function is for the Primary Buffer validation routine. The Primary Buffer is the communication buffer requested from Communicate protocol/PPI.

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

Definition at line 45 of file Tcg2StandaloneMm.c.

◆ Tcg2NotifyMmReady()

VOID Tcg2NotifyMmReady ( VOID  )

Notify the system that the SMM variable driver is ready.

Definition at line 26 of file Tcg2StandaloneMm.c.