TianoCore EDK2 master
Loading...
Searching...
No Matches
SMM_CORE_PRIVATE_DATA Struct Reference

#include <MdeModulePkg/Core/PiSmmCore/PiSmmCorePrivateData.h>

Data Fields

UINTN Signature
 
EFI_HANDLE SmmIplImageHandle
 
UINTN SmramRangeCount
 
EFI_SMRAM_DESCRIPTOR * SmramRanges
 
EFI_SMM_ENTRY_POINT SmmEntryPoint
 
BOOLEAN SmmEntryPointRegistered
 
BOOLEAN InSmm
 
EFI_SMM_SYSTEM_TABLE2 * Smst
 
VOID * CommunicationBuffer
 
UINTN BufferSize
 
EFI_STATUS ReturnStatus
 
EFI_PHYSICAL_ADDRESS PiSmmCoreImageBase
 
UINT64 PiSmmCoreImageSize
 
EFI_PHYSICAL_ADDRESS PiSmmCoreEntryPoint
 

Detailed Description

Private structure that is used to share information between the SMM IPL and the SMM Core. This structure is allocated from memory of type EfiRuntimeServicesData. Since runtime memory types are converted to available memory when a legacy boot is performed, the SMM Core must not access any fields of this structure if a legacy boot is performed. As a result, the SMM IPL must create an event notification for the Legacy Boot event and notify the SMM Core that a legacy boot is being performed. The SMM Core can then use this information to filter accesses to thos structure.

Definition at line 44 of file PiSmmCorePrivateData.h.

Field Documentation

◆ BufferSize

UINTN SMM_CORE_PRIVATE_DATA::BufferSize

This field is used by the SMM Communication Protocol to pass the size of a buffer, in bytes, into a software SMI handler and for the software SMI handler to pass the size, in bytes, of a buffer back to the caller of the SMM Communication Protocol.

This field is used by the SMM Communicatioon Protocol to pass the size of a buffer, in bytes, into a software SMI handler and for the software SMI handler to pass the size, in bytes, of a buffer back to the caller of the SMM Communication Protocol.

Definition at line 106 of file PiSmmCorePrivateData.h.

◆ CommunicationBuffer

VOID * SMM_CORE_PRIVATE_DATA::CommunicationBuffer

This field is used by the SMM Communication Protocol to pass a buffer into a software SMI handler and for the software SMI handler to pass a buffer back to the caller of the SMM Communication Protocol.

This field is used by the SMM Communicatioon Protocol to pass a buffer into a software SMI handler and for the software SMI handler to pass a buffer back to the caller of the SMM Communication Protocol.

Definition at line 99 of file PiSmmCorePrivateData.h.

◆ InSmm

BOOLEAN SMM_CORE_PRIVATE_DATA::InSmm

Boolean flag set to TRUE while an SMI is being processed by the SMM Core.

Definition at line 85 of file PiSmmCorePrivateData.h.

◆ PiSmmCoreEntryPoint

EFI_PHYSICAL_ADDRESS SMM_CORE_PRIVATE_DATA::PiSmmCoreEntryPoint

Definition at line 116 of file PiSmmCorePrivateData.h.

◆ PiSmmCoreImageBase

EFI_PHYSICAL_ADDRESS SMM_CORE_PRIVATE_DATA::PiSmmCoreImageBase

Definition at line 114 of file PiSmmCorePrivateData.h.

◆ PiSmmCoreImageSize

UINT64 SMM_CORE_PRIVATE_DATA::PiSmmCoreImageSize

Definition at line 115 of file PiSmmCorePrivateData.h.

◆ ReturnStatus

EFI_STATUS SMM_CORE_PRIVATE_DATA::ReturnStatus

This field is used by the SMM Communication Protocol to pass the return status from a software SMI handler back to the caller of the SMM Communication Protocol.

Definition at line 112 of file PiSmmCorePrivateData.h.

◆ Signature

UINTN SMM_CORE_PRIVATE_DATA::Signature

Definition at line 45 of file PiSmmCorePrivateData.h.

◆ SmmEntryPoint

EFI_SMM_ENTRY_POINT SMM_CORE_PRIVATE_DATA::SmmEntryPoint

The SMM Foundation Entry Point. The SMM Core fills in this field when the SMM Core is initialized. The SMM IPL is responsible for registering this entry point with the SMM Configuration Protocol. The SMM Configuration Protocol may not be available at the time the SMM IPL and SMM Core are started, so the SMM IPL sets up a protocol notification on the SMM Configuration Protocol and registers the SMM Foundation Entry Point as soon as the SMM Configuration Protocol is available.

The SMM Foundation Entry Point. The SMM Core fills in this field when the SMM Core is initialized. The SMM IPL is responsbile for registering this entry point with the SMM Configuration Protocol. The SMM Configuration Protocol may not be available at the time the SMM IPL and SMM Core are started, so the SMM IPL sets up a protocol notification on the SMM Configuration Protocol and registers the SMM Foundation Entry Point as soon as the SMM Configuration Protocol is available.

Definition at line 75 of file PiSmmCorePrivateData.h.

◆ SmmEntryPointRegistered

BOOLEAN SMM_CORE_PRIVATE_DATA::SmmEntryPointRegistered

Boolean flag set to TRUE while an SMI is being processed by the SMM Core.

Definition at line 80 of file PiSmmCorePrivateData.h.

◆ SmmIplImageHandle

EFI_HANDLE SMM_CORE_PRIVATE_DATA::SmmIplImageHandle

The ImageHandle passed into the entry point of the SMM IPL. This ImageHandle is used by the SMM Core to fill in the ParentImageHandle field of the Loaded Image Protocol for each SMM Driver that is dispatched by the SMM Core.

Definition at line 52 of file PiSmmCorePrivateData.h.

◆ SmramRangeCount

UINTN SMM_CORE_PRIVATE_DATA::SmramRangeCount

The number of SMRAM ranges passed from the SMM IPL to the SMM Core. The SMM Core uses these ranges of SMRAM to initialize the SMM Core memory manager.

Definition at line 58 of file PiSmmCorePrivateData.h.

◆ SmramRanges

EFI_SMRAM_DESCRIPTOR * SMM_CORE_PRIVATE_DATA::SmramRanges

A table of SMRAM ranges passed from the SMM IPL to the SMM Core. The SMM Core uses these ranges of SMRAM to initialize the SMM Core memory manager.

Definition at line 64 of file PiSmmCorePrivateData.h.

◆ Smst

EFI_SMM_SYSTEM_TABLE2 * SMM_CORE_PRIVATE_DATA::Smst

This field is set by the SMM Core then the SMM Core is initialized. This field is used by the SMM Base 2 Protocol and SMM Communication Protocol implementations in the SMM IPL.

Definition at line 92 of file PiSmmCorePrivateData.h.


The documentation for this struct was generated from the following files: