XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Variables
MmControl.h File Reference
#include <PiDxe.h>
Include dependency graph for MmControl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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 OPTIONAL, IN OUT UINT8 *DataPort OPTIONAL, IN BOOLEAN Periodic OPTIONAL, IN UINTN ActivationInterval OPTIONAL)
 
typedef EFI_STATUS(EFIAPIEFI_MM_DEACTIVATE) (IN CONST EFI_MM_CONTROL_PROTOCOL *This, IN BOOLEAN Periodic OPTIONAL)
 

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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Macro Definition Documentation

◆ EFI_MM_CONTROL_PROTOCOL_GUID

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

Typedef Documentation

◆ EFI_MM_ACTIVATE

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

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.

◆ EFI_MM_CONTROL_PROTOCOL

◆ EFI_MM_DEACTIVATE

typedef EFI_STATUS(EFIAPI * EFI_MM_DEACTIVATE) (IN CONST EFI_MM_CONTROL_PROTOCOL *This, IN BOOLEAN Periodic OPTIONAL)

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.

◆ EFI_MM_PERIOD

Variable Documentation

◆ gEfiMmControlProtocolGuid

EFI_GUID gEfiMmControlProtocolGuid
extern