aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h')
-rw-r--r--roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h b/roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h
new file mode 100644
index 000000000..fd1d50736
--- /dev/null
+++ b/roms/edk2/OvmfPkg/SmmControl2Dxe/SmiFeatures.h
@@ -0,0 +1,40 @@
+/**@file
+ Negotiate SMI features with QEMU, and configure UefiCpuPkg/PiSmmCpuDxeSmm
+ accordingly.
+
+ Copyright (C) 2016-2017, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef __SMI_FEATURES_H__
+#define __SMI_FEATURES_H__
+
+#include <Protocol/S3SaveState.h>
+
+/**
+ Negotiate SMI features with QEMU.
+
+ @retval FALSE If SMI feature negotiation is not supported by QEMU. This is
+ not an error, it just means that SaveSmiFeatures() should not
+ be called.
+
+ @retval TRUE SMI feature negotiation is supported, and it has completed
+ successfully as well. (Failure to negotiate is a fatal error
+ and the function never returns in that case.)
+**/
+BOOLEAN
+NegotiateSmiFeatures (
+ VOID
+ );
+
+/**
+ Append a boot script fragment that will re-select the previously negotiated
+ SMI features during S3 resume.
+**/
+VOID
+SaveSmiFeatures (
+ VOID
+ );
+
+#endif