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

Go to the source code of this file.

Data Structures

struct  _EFI_PEI_MM_CONTROL_PPI
 

Macros

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

Typedefs

typedef struct _EFI_PEI_MM_CONTROL_PPI EFI_PEI_MM_CONTROL_PPI
 
typedef EFI_STATUS(EFIAPI * EFI_PEI_MM_ACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MM_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 * EFI_PEI_MM_DEACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MM_CONTROL_PPI *This, IN BOOLEAN Periodic OPTIONAL)
 

Variables

EFI_GUID gEfiPeiMmControlPpiGuid
 

Detailed Description

EFI MM Control PPI definition.

This PPI is used initiate synchronous MMI activations. This PPI could be published by a processor driver to abstract the MMI IPI or a driver which abstracts the ASIC that is supporting the APM port. Because of the possibility of performing MMI IPI transactions, the ability to generate this event from a platform chipset agent is an optional capability for both IA-32 and x64-based systems.

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

Revision Reference:
This PPI is introduced in PI Version 1.5.

Definition in file MmControl.h.

Macro Definition Documentation

◆ EFI_PEI_MM_CONTROL_PPI_GUID

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

Definition at line 20 of file MmControl.h.

Typedef Documentation

◆ EFI_PEI_MM_ACTIVATE

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

Invokes PPI activation from the PI PEI environment.

Parameters
PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
ThisThe PEI_MM_CONTROL_PPI instance.
ArgumentBufferThe value passed to the MMI handler. This value corresponds to the SwMmiInputValue in the RegisterContext parameter for the Register() function in the EFI_MM_SW_DISPATCH_PROTOCOL and in the Context parameter in the call to the DispatchFunction
ArgumentBufferSizeThe size of the data passed in ArgumentBuffer or NULL if ArgumentBuffer is NULL.
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 MMI has been engendered.
EFI_DEVICE_ERRORThe timing is unsupported.
EFI_INVALID_PARAMETERThe activation period is unsupported.
EFI_NOT_STARTEDThe MM base service has not been initialized.

Definition at line 46 of file MmControl.h.

◆ EFI_PEI_MM_CONTROL_PPI

Definition at line 23 of file MmControl.h.

◆ EFI_PEI_MM_DEACTIVATE

typedef EFI_STATUS(EFIAPI * EFI_PEI_MM_DEACTIVATE) (IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MM_CONTROL_PPI *This, IN BOOLEAN Periodic OPTIONAL)

Clears any system state that was created in response to the Trigger() call.

Parameters
PeiServicesGeneral purpose services available to every PEIM.
ThisThe PEI_MM_CONTROL_PPI instance.
PeriodicOptional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values
EFI_SUCCESSThe MMI 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 70 of file MmControl.h.