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

Go to the source code of this file.

Functions

BOOLEAN FtwSmmIsPrimaryBufferValid (IN EFI_PHYSICAL_ADDRESS Buffer, IN UINT64 Length)
 
UINT32 FtwCalculateCrc32 (IN VOID *Buffer, IN UINTN Length)
 
VOID FtwNotifySmmReady (VOID)
 
EFI_STATUS EFIAPI StandaloneMmFaultTolerantWriteInitialize (IN EFI_HANDLE ImageHandle, IN EFI_MM_SYSTEM_TABLE *MmSystemTable)
 

Detailed Description

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

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

Definition in file FaultTolerantWriteStandaloneMm.c.

Function Documentation

◆ FtwCalculateCrc32()

UINT32 FtwCalculateCrc32 ( IN VOID *  Buffer,
IN UINTN  Length 
)

Internal implementation of CRC32. Depending on the execution context (standalone SMM or DXE vs standalone MM), this function is implemented via a call to the CalculateCrc32 () boot service, or via a library call.

If Buffer is NULL, then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().

Parameters
[in]BufferA pointer to the buffer on which the 32-bit CRC is to be computed.
[in]LengthThe number of bytes in the buffer Data.
Return values
Crc32The 32-bit CRC was computed for the data buffer.

Definition at line 50 of file FaultTolerantWriteStandaloneMm.c.

◆ FtwNotifySmmReady()

VOID FtwNotifySmmReady ( VOID  )

Notify the system that the SMM FTW driver is ready.

Definition at line 62 of file FaultTolerantWriteStandaloneMm.c.

◆ FtwSmmIsPrimaryBufferValid()

BOOLEAN FtwSmmIsPrimaryBufferValid ( IN EFI_PHYSICAL_ADDRESS  Buffer,
IN UINT64  Length 
)

This function checks if the Primary Buffer 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 26 of file FaultTolerantWriteStandaloneMm.c.

◆ StandaloneMmFaultTolerantWriteInitialize()

EFI_STATUS EFIAPI StandaloneMmFaultTolerantWriteInitialize ( IN EFI_HANDLE  ImageHandle,
IN EFI_MM_SYSTEM_TABLE MmSystemTable 
)

This function is the entry point of the Fault Tolerant Write driver.

Parameters
[in]ImageHandleA handle for the image that is initializing this driver
[in]MmSystemTableA pointer to the MM system table
Return values
EFI_SUCCESSThe initialization finished successfully.
EFI_OUT_OF_RESOURCESAllocate memory error
EFI_INVALID_PARAMETERWorkspace or Spare block does not exist

Definition at line 81 of file FaultTolerantWriteStandaloneMm.c.