TianoCore EDK2 master
|
#include <IndustryStandard/Q35MchIch9.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/IoLib.h>
#include <Library/PcdLib.h>
#include <Library/PciLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/S3SaveState.h>
#include <Protocol/SmmControl2.h>
#include "SmiFeatures.h"
Go to the source code of this file.
Functions | |
STATIC VOID EFIAPI | OnS3SaveStateInstalled (IN EFI_EVENT Event, IN VOID *Context) |
STATIC EFI_STATUS EFIAPI | SmmControl2DxeTrigger (IN CONST EFI_SMM_CONTROL2_PROTOCOL *This, IN OUT UINT8 *CommandPort OPTIONAL, IN OUT UINT8 *DataPort OPTIONAL, IN BOOLEAN Periodic OPTIONAL, IN UINTN ActivationInterval OPTIONAL) |
STATIC EFI_STATUS EFIAPI | SmmControl2DxeClear (IN CONST EFI_SMM_CONTROL2_PROTOCOL *This, IN BOOLEAN Periodic OPTIONAL) |
EFI_STATUS EFIAPI | SmmControl2DxeEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Variables | |
STATIC UINTN | mSmiEnable |
STATIC BOOLEAN | mSmiFeatureNegotiation |
STATIC EFI_EVENT | mS3SaveStateInstalled |
STATIC EFI_SMM_CONTROL2_PROTOCOL | mControl2 |
A DXE_RUNTIME_DRIVER providing synchronous SMI activations via the EFI_SMM_CONTROL2_PROTOCOL.
We expect the PEI phase to have covered the following:
Our own entry point is responsible for confirming the SMI feature and for configuring it.
Copyright (C) 2013, 2015, Red Hat, Inc.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SmmControl2Dxe.c.
Notification callback for S3SaveState installation.
[in] | Event | Event whose notification function is being invoked. |
[in] | Context | The pointer to the notification function's context, which is implementation-dependent. |
Definition at line 339 of file SmmControl2Dxe.c.
STATIC EFI_STATUS EFIAPI SmmControl2DxeClear | ( | IN CONST EFI_SMM_CONTROL2_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 SMI activation source.
[in] | This | The EFI_SMM_CONTROL2_PROTOCOL instance. |
[in] | Periodic | Optional parameter to repeat at this period one time |
EFI_SUCCESS | The SMI/PMI has been engendered. |
EFI_DEVICE_ERROR | The source could not be cleared. |
EFI_INVALID_PARAMETER | The service did not support the Periodic input argument. |
Definition at line 138 of file SmmControl2Dxe.c.
EFI_STATUS EFIAPI SmmControl2DxeEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Definition at line 175 of file SmmControl2Dxe.c.
STATIC EFI_STATUS EFIAPI SmmControl2DxeTrigger | ( | IN CONST EFI_SMM_CONTROL2_PROTOCOL * | This, |
IN OUT UINT8 *CommandPort | OPTIONAL, | ||
IN OUT UINT8 *DataPort | OPTIONAL, | ||
IN BOOLEAN Periodic | OPTIONAL, | ||
IN UINTN ActivationInterval | OPTIONAL | ||
) |
Invokes SMI activation from either the preboot or runtime environment.
This function generates an SMI.
[in] | This | The EFI_SMM_CONTROL2_PROTOCOL instance. |
[in,out] | CommandPort | The value written to the command port. |
[in,out] | DataPort | The value written to the data port. |
[in] | Periodic | Optional mechanism to engender a periodic stream. |
[in] | ActivationInterval | Optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically. |
EFI_SUCCESS | The SMI/PMI has been engendered. |
EFI_DEVICE_ERROR | The timing is unsupported. |
EFI_INVALID_PARAMETER | The activation period is unsupported. |
EFI_INVALID_PARAMETER | The last periodic activation has not been cleared. |
EFI_NOT_STARTED | The SMM base service has not been initialized. |
Definition at line 89 of file SmmControl2Dxe.c.
STATIC EFI_SMM_CONTROL2_PROTOCOL mControl2 |
Definition at line 164 of file SmmControl2Dxe.c.
Definition at line 63 of file SmmControl2Dxe.c.
Definition at line 51 of file SmmControl2Dxe.c.
STATIC BOOLEAN mSmiFeatureNegotiation |
Definition at line 58 of file SmmControl2Dxe.c.