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

Go to the source code of this file.

Data Structures

struct  _PEI_SMM_CONTROL_PPI
 

Macros

#define PEI_SMM_CONTROL_PPI_GUID    { 0x61c68702, 0x4d7e, 0x4f43, 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }
 

Typedefs

typedef struct _PEI_SMM_CONTROL_PPI PEI_SMM_CONTROL_PPI
 
typedef EFI_STATUS(EFIAPI * PEI_SMM_ACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_CONTROL_PPI *This, IN OUT INT8 *ArgumentBuffer OPTIONAL, IN OUT UINTN *ArgumentBufferSize OPTIONAL, IN BOOLEAN Periodic OPTIONAL, IN UINTN ActivationInterval OPTIONAL)
 
typedef EFI_STATUS(EFIAPI * PEI_SMM_DEACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_CONTROL_PPI *This, IN BOOLEAN Periodic OPTIONAL)
 

Variables

EFI_GUID gPeiSmmControlPpiGuid
 

Detailed Description

EFI SMM Control PPI definition.

This PPI is used to initiate SMI/PMI activations. This protocol could be published by either:

  • A processor driver to abstract the SMI/PMI IPI
  • The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an Intel chipset Because of the possibility of performing SMI or PMI IPI transactions, the ability to generate this event from a platform chipset agent is an optional capability for both IA-32 and Itanium-based systems.

Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SmmControl.h.

Macro Definition Documentation

◆ PEI_SMM_CONTROL_PPI_GUID

#define PEI_SMM_CONTROL_PPI_GUID    { 0x61c68702, 0x4d7e, 0x4f43, 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }

Definition at line 21 of file SmmControl.h.

Typedef Documentation

◆ PEI_SMM_ACTIVATE

typedef EFI_STATUS(EFIAPI * PEI_SMM_ACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_CONTROL_PPI *This, IN OUT INT8 *ArgumentBuffer OPTIONAL, IN OUT UINTN *ArgumentBufferSize OPTIONAL, IN BOOLEAN Periodic OPTIONAL, IN UINTN ActivationInterval OPTIONAL)

Invokes SMI activation from either the preboot or runtime environment.

Parameters
PeiServicesGeneral purpose services available to every PEIM.
ThisThe PEI_SMM_CONTROL_PPI instance.
ArgumentBufferThe optional sized data to pass into the protocol activation.
ArgumentBufferSizeThe optional size of the data.
PeriodicAn optional mechanism to periodically repeat activation.
ActivationIntervalAn optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values
EFI_SUCCESSThe SMI/PMI has been engendered.
EFI_DEVICE_ERRORThe timing is unsupported.
EFI_INVALID_PARAMETERThe activation period is unsupported.
EFI_NOT_STARTEDThe SMM base service has not been initialized.

Definition at line 44 of file SmmControl.h.

◆ PEI_SMM_CONTROL_PPI

Definition at line 24 of file SmmControl.h.

◆ PEI_SMM_DEACTIVATE

typedef EFI_STATUS(EFIAPI * PEI_SMM_DEACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_CONTROL_PPI *This, IN BOOLEAN Periodic OPTIONAL)

Clears any system state that was created in response to the Active call.

Parameters
PeiServicesGeneral purpose services available to every PEIM.
ThisThe PEI_SMM_CONTROL_PPI instance.
PeriodicOptional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values
EFI_SUCCESSThe SMI/PMI has been engendered.
EFI_DEVICE_ERRORThe source could not be cleared.
EFI_INVALID_PARAMETERThe service did not support the Periodic input argument.

Definition at line 68 of file SmmControl.h.