MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MmControl.h File Reference

Data Structures

struct  _EFI_MM_CONTROL_PROTOCOL
 

Macros

#define EFI_MM_CONTROL_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_MM_CONTROL_PROTOCOL 
EFI_MM_CONTROL_PROTOCOL
 
typedef UINTN EFI_MM_PERIOD
 
typedef EFI_STATUS(EFIAPIEFI_MM_ACTIVATE )(IN CONST EFI_MM_CONTROL_PROTOCOL *This, IN OUT UINT8 *CommandPort, IN OUT UINT8 *DataPort, IN BOOLEAN Periodic, IN UINTN ActivationInterval)
 
typedef EFI_STATUS(EFIAPIEFI_MM_DEACTIVATE )(IN CONST EFI_MM_CONTROL_PROTOCOL *This, IN BOOLEAN Periodic)
 

Variables

EFI_GUID gEfiMmControlProtocolGuid
 

Detailed Description

EFI MM Control Protocol as defined in the PI 1.5 specification.

This protocol is used initiate synchronous MMI activations. This protocol 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.

The EFI_MM_CONTROL_PROTOCOL is produced by a runtime driver. It provides an abstraction of the platform hardware that generates an MMI. There are often I/O ports that, when accessed, will generate the MMI. Also, the hardware optionally supports the periodic generation of these signals.

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

Macro Definition Documentation

#define EFI_MM_CONTROL_PROTOCOL_GUID
Value:
{ \
0x843dc720, 0xab1e, 0x42cb, {0x93, 0x57, 0x8a, 0x0, 0x78, 0xf3, 0x56, 0x1b} \
}

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_MM_ACTIVATE)(IN CONST EFI_MM_CONTROL_PROTOCOL *This, IN OUT UINT8 *CommandPort, IN OUT UINT8 *DataPort, IN BOOLEAN Periodic, IN UINTN ActivationInterval)

Invokes MMI activation from either the preboot or runtime environment.

This function generates an MMI.

Parameters
[in]ThisThe EFI_MM_CONTROL_PROTOCOL instance.
[in,out]CommandPortThe value written to the command port.
[in,out]DataPortThe value written to the data port.
[in]PeriodicOptional mechanism to engender a periodic stream.
[in]ActivationIntervalOptional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values
EFI_SUCCESSThe MMI/PMI has been engendered.
EFI_DEVICE_ERRORThe timing is unsupported.
EFI_INVALID_PARAMETERThe activation period is unsupported.
EFI_INVALID_PARAMETERThe last periodic activation has not been cleared.
EFI_NOT_STARTEDThe MM base service has not been initialized.

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

This function acknowledges and causes the deassertion of the MMI activation source.

Parameters
[in]ThisThe EFI_MM_CONTROL_PROTOCOL instance.
[in]PeriodicOptional parameter to repeat at this period one time
Return values
EFI_SUCCESSThe MMI/PMI has been engendered.
EFI_DEVICE_ERRORThe source could not be cleared.
EFI_INVALID_PARAMETERThe service did not support the Periodic input argument.

Variable Documentation

EFI_GUID gEfiMmControlProtocolGuid