]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/SmmControl2Dxe/SmiFeatures.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[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 SPDX-License-Identifier: BSD-2-Clause-Patent
8 **/
9
10 #ifndef __SMI_FEATURES_H__
11 #define __SMI_FEATURES_H__
12
13 #include <Protocol/S3SaveState.h>
14
15 /**
16 Negotiate SMI features with QEMU.
17
18 @retval FALSE If SMI feature negotiation is not supported by QEMU. This is
19 not an error, it just means that SaveSmiFeatures() should not
20 be called.
21
22 @retval TRUE SMI feature negotiation is supported, and it has completed
23 successfully as well. (Failure to negotiate is a fatal error
24 and the function never returns in that case.)
25 **/
26 BOOLEAN
27 NegotiateSmiFeatures (
28 VOID
29 );
30
31 /**
32 Append a boot script fragment that will re-select the previously negotiated
33 SMI features during S3 resume.
34 **/
35 VOID
36 SaveSmiFeatures (
37 VOID
38 );
39
40 #endif