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