VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Include/Ppi/SmmControl.h@ 94368

Last change on this file since 94368 was 80721, checked in by vboxsync, 6 years ago

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • Property svn:eol-style set to native
File size: 3.5 KB
Line 
1/** @file
2 EFI SMM Control PPI definition.
3
4 This PPI is used to initiate SMI/PMI activations. This protocol could be published by either:
5 - A processor driver to abstract the SMI/PMI IPI
6 - The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an
7 Intel chipset
8 Because of the possibility of performing SMI or PMI IPI transactions, the ability to generate this
9 event from a platform chipset agent is an optional capability for both IA-32 and Itanium-based
10 systems.
11
12 Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
13
14 SPDX-License-Identifier: BSD-2-Clause-Patent
15
16**/
17
18
19#ifndef _SMM_CONTROL_PPI_H_
20#define _SMM_CONTROL_PPI_H_
21
22#define PEI_SMM_CONTROL_PPI_GUID \
23 { 0x61c68702, 0x4d7e, 0x4f43, 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }
24
25typedef struct _PEI_SMM_CONTROL_PPI PEI_SMM_CONTROL_PPI;
26
27/**
28 Invokes SMI activation from either the preboot or runtime environment.
29
30 @param PeiServices General purpose services available to every PEIM.
31 @param This The PEI_SMM_CONTROL_PPI instance.
32 @param ArgumentBuffer The optional sized data to pass into the protocol activation.
33 @param ArgumentBufferSize The optional size of the data.
34 @param Periodic An optional mechanism to periodically repeat activation.
35 @param ActivationInterval An optional parameter to repeat at this period one
36 time or, if the Periodic Boolean is set, periodically.
37
38 @retval EFI_SUCCESS The SMI/PMI has been engendered.
39 @retval EFI_DEVICE_ERROR The timing is unsupported.
40 @retval EFI_INVALID_PARAMETER The activation period is unsupported.
41 @retval EFI_NOT_STARTED The SMM base service has not been initialized.
42
43**/
44typedef
45EFI_STATUS
46(EFIAPI *PEI_SMM_ACTIVATE) (
47 IN EFI_PEI_SERVICES **PeiServices,
48 IN PEI_SMM_CONTROL_PPI * This,
49 IN OUT INT8 *ArgumentBuffer OPTIONAL,
50 IN OUT UINTN *ArgumentBufferSize OPTIONAL,
51 IN BOOLEAN Periodic OPTIONAL,
52 IN UINTN ActivationInterval OPTIONAL
53 );
54
55/**
56 Clears any system state that was created in response to the Active call.
57
58 @param PeiServices General purpose services available to every PEIM.
59 @param This The PEI_SMM_CONTROL_PPI instance.
60 @param Periodic Optional parameter to repeat at this period one
61 time or, if the Periodic Boolean is set, periodically.
62
63 @retval EFI_SUCCESS The SMI/PMI has been engendered.
64 @retval EFI_DEVICE_ERROR The source could not be cleared.
65 @retval EFI_INVALID_PARAMETER The service did not support the Periodic input argument.
66
67**/
68typedef
69EFI_STATUS
70(EFIAPI *PEI_SMM_DEACTIVATE) (
71 IN EFI_PEI_SERVICES **PeiServices,
72 IN PEI_SMM_CONTROL_PPI * This,
73 IN BOOLEAN Periodic OPTIONAL
74 );
75
76///
77/// PEI SMM Control PPI is used to initiate SMI/PMI activations. This protocol could be published by either:
78/// - A processor driver to abstract the SMI/PMI IPI
79/// - The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an
80/// Intel chipset
81///
82struct _PEI_SMM_CONTROL_PPI {
83 PEI_SMM_ACTIVATE Trigger;
84 PEI_SMM_DEACTIVATE Clear;
85};
86
87extern EFI_GUID gPeiSmmControlPpiGuid;
88
89#endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette