TianoCore EDK2 master
Loading...
Searching...
No Matches
SmmBase2.h File Reference
#include <Pi/PiSmmCis.h>
#include <Protocol/MmBase.h>

Go to the source code of this file.

Data Structures

struct  _EFI_SMM_BASE2_PROTOCOL
 

Macros

#define EFI_SMM_BASE2_PROTOCOL_GUID   EFI_MM_BASE_PROTOCOL_GUID
 

Typedefs

typedef struct _EFI_SMM_BASE2_PROTOCOL EFI_SMM_BASE2_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EFI_SMM_INSIDE_OUT2) (IN CONST EFI_SMM_BASE2_PROTOCOL *This, OUT BOOLEAN *InSmram)
 
typedef EFI_STATUS(EFIAPI * EFI_SMM_GET_SMST_LOCATION2) (IN CONST EFI_SMM_BASE2_PROTOCOL *This, IN OUT EFI_SMM_SYSTEM_TABLE2 **Smst)
 

Variables

EFI_GUID gEfiSmmBase2ProtocolGuid
 

Detailed Description

EFI SMM Base2 Protocol as defined in the PI 1.2 specification.

This protocol is utilized by all SMM drivers to locate the SMM infrastructure services and determine whether the driver is being invoked inside SMRAM or outside of SMRAM.

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

Definition in file SmmBase2.h.

Macro Definition Documentation

◆ EFI_SMM_BASE2_PROTOCOL_GUID

#define EFI_SMM_BASE2_PROTOCOL_GUID   EFI_MM_BASE_PROTOCOL_GUID

Definition at line 18 of file SmmBase2.h.

Typedef Documentation

◆ EFI_SMM_BASE2_PROTOCOL

Definition at line 20 of file SmmBase2.h.

◆ EFI_SMM_GET_SMST_LOCATION2

typedef EFI_STATUS(EFIAPI * EFI_SMM_GET_SMST_LOCATION2) (IN CONST EFI_SMM_BASE2_PROTOCOL *This, IN OUT EFI_SMM_SYSTEM_TABLE2 **Smst)

Returns the location of the System Management Service Table (SMST).

This function returns the location of the System Management Service Table (SMST). The use of the API is such that a driver can discover the location of the SMST in its entry point and then cache it in some driver global variable so that the SMST can be invoked in subsequent handlers.

Parameters
[in]ThisThe EFI_SMM_BASE2_PROTOCOL instance.
[in,out]SmstOn return, points to a pointer to the System Management Service Table (SMST).
Return values
EFI_SUCCESSThe operation was successful.
EFI_INVALID_PARAMETERSmst was invalid.
EFI_UNSUPPORTEDNot in SMM.

Definition at line 60 of file SmmBase2.h.

◆ EFI_SMM_INSIDE_OUT2

typedef EFI_STATUS(EFIAPI * EFI_SMM_INSIDE_OUT2) (IN CONST EFI_SMM_BASE2_PROTOCOL *This, OUT BOOLEAN *InSmram)

Service to indicate whether the driver is currently executing in the SMM Initialization phase.

This service is used to indicate whether the driver is currently executing in the SMM Initialization phase. For SMM drivers, this will return TRUE in InSmram while inside the driver's entry point and otherwise FALSE. For combination SMM/DXE drivers, this will return FALSE in the DXE launch. For the SMM launch, it behaves as an SMM driver.

Parameters
[in]ThisThe EFI_SMM_BASE2_PROTOCOL instance.
[out]InSmramPointer to a Boolean which, on return, indicates that the driver is currently executing inside of SMRAM (TRUE) or outside of SMRAM (FALSE).
Return values
EFI_SUCCESSThe call returned successfully.
EFI_INVALID_PARAMETERInSmram was NULL.

Definition at line 38 of file SmmBase2.h.