From 276a7ea1477465baab954a9c8eec7b866554b465 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Sat, 22 Mar 2014 07:13:24 +0000 Subject: [PATCH] OvmfPkg: PlatformDxe: introduce state for the main form 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 Reviewed-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15368 6f19259b-4bc3-4df7-8a09-765794883524 --- 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 1ee580e785..afa15db2d0 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 e9ae0de057..c526ffac9e 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); -- 2.39.2