TianoCore EDK2 master
|
#include <PiMm.h>
#include <Guid/MemoryOverwriteControl.h>
#include <Guid/TpmInstance.h>
#include <Guid/TpmNvsMm.h>
#include <Protocol/MmReadyToLock.h>
#include <Protocol/SmmSwDispatch2.h>
#include <Protocol/AcpiTable.h>
#include <Protocol/SmmVariable.h>
#include <Protocol/Tcg2Protocol.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MmServicesTableLib.h>
#include <Library/Tpm2CommandLib.h>
#include <Library/Tcg2PhysicalPresenceLib.h>
#include <Library/IoLib.h>
#include <Library/PcdLib.h>
#include <Library/Tpm2DeviceLib.h>
#include <IndustryStandard/TpmPtp.h>
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) |
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.
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.
EFI_SUCCESS | The entry point is executed successfully. |
Others | Some error occurs when executing this entry point. |
BOOLEAN IsTpm20Dtpm | ( | VOID | ) |
This function checks if the required DTPM instance is TPM 2.0.
TRUE | The required DTPM instance is equal to gEfiTpmDeviceInstanceTpm20DtpmGuid. |
FALSE | The required DTPM instance is not equal to gEfiTpmDeviceInstanceTpm20DtpmGuid. |
Definition at line 80 of file Tcg2StandaloneMm.c.
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.
Buffer | The buffer start address to be checked. |
Length | The buffer length to be checked. |
TRUE | This buffer is valid. |
FALSE | This 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.
Buffer | The buffer start address to be checked. |
Length | The buffer length to be checked. |
TRUE | This buffer is valid. |
FALSE | This 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.
Buffer | The buffer start address to be checked. |
Length | The buffer length to be checked. |
TRUE | This buffer is valid. |
FALSE | This buffer is not valid. |
Definition at line 65 of file Tcg2StandaloneMm.c.
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.
Buffer | The buffer start address to be checked. |
Length | The buffer length to be checked. |
TRUE | This buffer is valid. |
FALSE | This 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.
Buffer | The buffer start address to be checked. |
Length | The buffer length to be checked. |
TRUE | This buffer is valid per processor architecture and not overlap with SMRAM. |
FALSE | This buffer is not valid per processor architecture or overlap with SMRAM. |
Definition at line 45 of file Tcg2StandaloneMm.c.
VOID Tcg2NotifyMmReady | ( | VOID | ) |
Notify the system that the SMM variable driver is ready.
Definition at line 26 of file Tcg2StandaloneMm.c.