We'll need a C language (ie. structure) representation for the state of
the visual elements on the form. We choose the Buffer Storage kind (see
29.2.5.6 "Storage" in UEFI 2.4A), because it's easy to work with.

Note that the structure added in this patch has nothing to do with UEFI
non-volatile variables.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 OvmfPkg/PlatformDxe/Platform.h        | 12 ++++++++++++
 OvmfPkg/PlatformDxe/PlatformForms.vfr |  5 +++++
 2 files changed, 17 insertions(+)

diff --git a/OvmfPkg/PlatformDxe/Platform.h b/OvmfPkg/PlatformDxe/Platform.h
index 1ee580e..afa15db 100644
--- a/OvmfPkg/PlatformDxe/Platform.h
+++ b/OvmfPkg/PlatformDxe/Platform.h
@@ -19,6 +19,18 @@
 //
 // Macro and type definitions that connect the form with the HII driver code.
 //
+#define FORMSTATEID_MAIN_FORM  1
 #define FORMID_MAIN_FORM       1
 
+#define MAXSIZE_RES_CUR       16
+
+//
+// This structure describes the form state. Its fields relate strictly to the
+// visual widgets on the form.
+//
+typedef struct {
+  UINT16 CurrentPreferredResolution[MAXSIZE_RES_CUR];
+  UINT32 NextPreferredResolution;
+} MAIN_FORM_STATE;
+
 #endif // _PLATFORM_H_
diff --git a/OvmfPkg/PlatformDxe/PlatformForms.vfr 
b/OvmfPkg/PlatformDxe/PlatformForms.vfr
index e9ae0de..c526ffa 100644
--- a/OvmfPkg/PlatformDxe/PlatformForms.vfr
+++ b/OvmfPkg/PlatformDxe/PlatformForms.vfr
@@ -30,6 +30,11 @@ formset
   title = STRING_TOKEN(STR_FORMSET_TITLE),
   help  = STRING_TOKEN(STR_FORMSET_HELP),
 
+  varstore MAIN_FORM_STATE,
+    varid = FORMSTATEID_MAIN_FORM,
+    name  = MainFormState,
+    guid  = OVMF_PLATFORM_CONFIG_GUID;
+
   form
     formid = FORMID_MAIN_FORM,
     title  = STRING_TOKEN(STR_MAIN_FORM_TITLE);
-- 
1.8.3.1



------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to