]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/SmmControl2Dxe/SmiFeatures.h
ShellPkg/for: Fix potential null pointer deference
[mirror_edk2.git] / OvmfPkg / SmmControl2Dxe / SmiFeatures.h
CommitLineData
a316d7ac
LE
1/**@file\r
2 Negotiate SMI features with QEMU, and configure UefiCpuPkg/PiSmmCpuDxeSmm\r
3 accordingly.\r
4\r
5 Copyright (C) 2016-2017, Red Hat, Inc.\r
6\r
7 This program and the accompanying materials are licensed and made available\r
8 under the terms and conditions of the BSD License which accompanies this\r
9 distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
13 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14**/\r
15\r
16#ifndef __SMI_FEATURES_H__\r
17#define __SMI_FEATURES_H__\r
18\r
19#include <Protocol/S3SaveState.h>\r
20\r
21/**\r
22 Negotiate SMI features with QEMU.\r
23\r
24 @retval FALSE If SMI feature negotiation is not supported by QEMU. This is\r
25 not an error, it just means that SaveSmiFeatures() should not\r
26 be called.\r
27\r
28 @retval TRUE SMI feature negotiation is supported, and it has completed\r
29 successfully as well. (Failure to negotiate is a fatal error\r
30 and the function never returns in that case.)\r
31**/\r
32BOOLEAN\r
33NegotiateSmiFeatures (\r
34 VOID\r
35 );\r
36\r
37/**\r
38 Append a boot script fragment that will re-select the previously negotiated\r
39 SMI features during S3 resume.\r
a316d7ac
LE
40**/\r
41VOID\r
42SaveSmiFeatures (\r
36a6aa6c 43 VOID\r
a316d7ac
LE
44 );\r
45\r
46#endif\r