1. Add FrameworkFormBrowser.h

2. Add SetupBrowserDxe.inf, HiiDataBaseDxe.inf and DriverSampleDxe in IntelFrameworkModulePkg.dsc and Nt32Pkg.dsc
3. Update Vfr.vfr to declare MyIfrNVData



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2933 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2007-07-02 05:52:03 +00:00
parent bc11b82964
commit 35fec2c47f
12 changed files with 341 additions and 198 deletions

View File

@ -154,17 +154,17 @@
################################################################################
[Components.common]
$(WORKSPACE)\IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Library\OemHookStatusCodeLibNull\OemHookStatusCodeLibNull.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Library\PciIncompatibleDeviceSupportLib\PciIncompatibleDeviceSupportLib.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Library\GraphicsLib\GraphicsLib.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Bus\Pci\PciBus\Dxe\PciBus.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Bus\Pci\IdeBus\Dxe\IdeBus.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Universal\DataHub\DataHub\Dxe\DataHub.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Universal\DataHub\DataHubStdErr\Dxe\DataHubStdErr.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Universal\StatusCode\Dxe\DxeStatusCode.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Universal\StatusCode\Pei\PeiStatusCode.inf
$(WORKSPACE)\IntelFrameworkModulePkg\Universal\HiiDataBaseDxe\HiiDatabase.inf
# $(WORKSPACE)\IntelFrameworkModulePkg\Universal\UserInterface\SetupBrowser\Dxe\SetupBrowser.inf
# $(WORKSPACE)\IntelFrameworkModulePkg\Universal\DriverSampleDxe\DriverSample.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Library\OemHookStatusCodeLibNull\OemHookStatusCodeLibNull.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Library\PciIncompatibleDeviceSupportLib\PciIncompatibleDeviceSupportLib.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Library\GraphicsLib\GraphicsLib.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Bus\Pci\PciBus\Dxe\PciBus.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Bus\Pci\IdeBus\Dxe\IdeBus.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf

View File

@ -1,67 +1,60 @@
//
// Include common header file for this module.
//
#include "CommonHeader.h"
// *++
//
// Copyright (c) 2006, Intel Corporation
// All rights reserved. This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Copyright (c) 2006, Intel Corporation
// All rights reserved. This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Module Name:
//
// Inventory.vfr
//
// Inventory.vfr
//
// Abstract:
//
//
// Sample Inventory Data.
//
// Revision History:
//
//
// Revision History:
//
// --*/
#include "DriverSampleStrDefs.h"
#define INVENTORY_GUID { 0xb3f56470, 0x6141, 0x4621, { 0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8 } }
formset
formset
guid = INVENTORY_GUID,
title = STRING_TOKEN(STR_INV_FORM_SET_TITLE),
help = STRING_TOKEN(STR_INV_FORM_SET_HELP),
class = 0x04,
class = 0x04,
subclass = 0x03,
form formid = 1,
title = STRING_TOKEN(STR_INV_FORM1_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
text
text
help = STRING_TOKEN(STR_INV_VERSION_HELP),
text = STRING_TOKEN(STR_INV_VERSION_TEXT),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT2),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT3),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT4),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
@ -70,49 +63,49 @@ formset
subtitle text = STRING_TOKEN(STR_INV_EMPTY_STRING);
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT5),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT6),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT7),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT8),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT9),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT10),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),
flags = 0,
key = 0;
text
text
help = STRING_TOKEN(STR_INV_EMPTY_STRING),
text = STRING_TOKEN(STR_INV_VERSION_TEXT11),
text = STRING_TOKEN(STR_INV_EMPTY_STRING),

View File

@ -1,20 +1,20 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name:
NVDataStruc.h
NVDataStruc.h
Abstract:
NVData structure used by the sample driver
Revision History:
@ -24,10 +24,6 @@ Revision History:
#ifndef _NVDATASTRUC_H
#define _NVDATASTRUC_H
//
// Include common header file for this module.
//
#include "CommonHeader.h"
#define FORMSET_GUID \
{ \

View File

@ -1,34 +1,28 @@
//
// Include common header file for this module.
//
#include "CommonHeader.h"
// *++
//
// Copyright (c) 2006, Intel Corporation
// All rights reserved. This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Copyright (c) 2006, Intel Corporation
// All rights reserved. This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Module Name:
//
// Vfr.vfr
//
// Vfr.vfr
//
// Abstract:
//
//
// Sample Setup formset
//
// Revision History:
//
//
// Revision History:
//
// --*/
#include "DriverSampleStrDefs.h"
#include "NVDataStruc.h"
@ -44,73 +38,74 @@ typedef struct {
UINT8 OrderedList[3];
} MyIfrNVData3;
#define MY_TEXT_KEY 0x100
#define MY_TEXT_KEY 0x100
#define LABEL_1_VALUE 0x01
#define LABEL_2_VALUE 0x1000
#define LABEL_UPDATE_BBS 0x2222
#define LABEL_END_UPDATE_BBS 0x2223
formset
formset
guid = FORMSET_GUID,
title = STRING_TOKEN(STR_FORM_SET_TITLE),
help = STRING_TOKEN(STR_FORM_SET_TITLE_HELP),
class = 0x10,
title = STRING_TOKEN(STR_FORM_SET_TITLE),
help = STRING_TOKEN(STR_FORM_SET_TITLE_HELP),
class = 0x10,
subclass = 0,
varstore MyIfrNVData2, key = 0x1234, name = MY_DATA2, guid = FORMSET_GUID;
varstore MyIfrNVData, key = 0x1324, name = MY_DATA1, guid = FORMSET_GUID;
varstore MyIfrNVData3, key = 0x4321, name = MY_DATA3, guid = FORMSET_GUID;
form formid = 1,
title = STRING_TOKEN(STR_FORM1_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT);
subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);
banner
banner
title = STRING_TOKEN(STR_BANNER_TITLE),
line 1,
align center;
banner
banner
title = STRING_TOKEN(STR_BANNER_TITLE),
line 2,
align left;
banner
banner
title = STRING_TOKEN(STR_BANNER_TITLE),
line 2,
align right;
text
help = STRING_TOKEN(STR_TEXT_HELP),
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_CPU_STRING),
text = STRING_TOKEN(STR_CPU_STRING2),
flags = 0,
key = 0;
text
help = STRING_TOKEN(STR_EXIT_TEXT),
text = STRING_TOKEN(STR_EXIT_TEXT),
text
help = STRING_TOKEN(STR_EXIT_TEXT),
text = STRING_TOKEN(STR_EXIT_TEXT),
text = STRING_TOKEN(STR_EXIT_TEXT),
flags = INTERACTIVE,
key = 0x1237;
oneof varid = MyIfrNVData.SuppressGrayOutSomething,
prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT4), value = 0x0, flags = 0;
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT4), value = 0x0, flags = 0;
option text = STRING_TOKEN(STR_ONE_OF_TEXT5), value = 0x1, flags = 0;
option text = STRING_TOKEN(STR_ONE_OF_TEXT6), value = 0x2, flags = DEFAULT;
endoneof;
oneof varid = MyIfrNVData.BootOrderLarge,
prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = INTERACTIVE, key = 1;
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = INTERACTIVE, key = 1;
option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = INTERACTIVE | DEFAULT, key = 2;
endoneof;
@ -119,7 +114,7 @@ formset
label 0;
checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,
prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
flags = 1, // Flags behavior for checkbox is overloaded so that it equals a DEFAULT value. 1 = ON, 0 = off
key = 0,
endcheckbox;
@ -127,7 +122,7 @@ formset
//
// Ordered list:
// Ordered list:
// sizeof(MyIfrNVData) storage must be UINT8 array, and
// size written for the variable must be size of the entire
// variable.
@ -143,36 +138,36 @@ formset
option text = STRING_TOKEN(STR_BOOT_OPTION1), value = 1, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_BOOT_OPTION3), value = 3, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_BOOT_OPTION4), value = 4, flags = RESET_REQUIRED;
endlist;
endlist;
label LABEL_END_UPDATE_BBS;
endif;
suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;
orderedlist
orderedlist
varid = MyIfrNVData.OrderedList,
prompt = STRING_TOKEN(STR_TEST_OPCODE),
help = STRING_TOKEN(STR_TEXT_HELP),
help = STRING_TOKEN(STR_TEXT_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 4, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 3, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 2, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_TEXT_HELP), value = 1, flags = RESET_REQUIRED;
endlist;
endif;
label 100;
goto 0x1234,
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC),
goto 0x1234,
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC),
help = STRING_TOKEN(STR_GOTO_HELP),
flags = INTERACTIVE,
flags = INTERACTIVE,
key = 0x1234;
goto 0x1234,
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC2),
goto 0x1234,
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC2),
help = STRING_TOKEN(STR_GOTO_HELP),
flags = INTERACTIVE,
flags = INTERACTIVE,
key = 0x1235;
//
// VARSTORE tests
//
@ -198,14 +193,14 @@ formset
oneof varid = MyIfrNVData.TestLateCheck,
prompt = STRING_TOKEN(STR_TEST_OPCODE),
help = STRING_TOKEN(STR_ONE_OF_HELP),
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = LATE_CHECK | RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = LATE_CHECK | DEFAULT | RESET_REQUIRED;
endoneof;
oneof varid = MyIfrNVData.TestLateCheck2,
prompt = STRING_TOKEN(STR_TEST_OPCODE2),
help = STRING_TOKEN(STR_ONE_OF_HELP),
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = LATE_CHECK | DEFAULT | RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = LATE_CHECK | RESET_REQUIRED;
@ -213,7 +208,7 @@ formset
oneof varid = MyIfrNVData.QuestionAboutTreeHugging,
prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),
help = STRING_TOKEN(STR_ONE_OF_HELP),
help = STRING_TOKEN(STR_ONE_OF_HELP),
option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 0, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 1, flags = DEFAULT | RESET_REQUIRED;
option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 0x03, flags = RESET_REQUIRED;
@ -227,42 +222,42 @@ formset
key = 0x1234,
minsize = 6,
maxsize = 0x14,
endstring;
endstring;
text
help = STRING_TOKEN(STR_GRAYOUT_TEST),
text
help = STRING_TOKEN(STR_GRAYOUT_TEST),
text = STRING_TOKEN(STR_GRAYOUT_TEST),
text = STRING_TOKEN(STR_GRAYOUT_TEST),
flags = INTERACTIVE,
key = 0x1555;
text
help = STRING_TOKEN(STR_SUPPRESS_TEST),
text
help = STRING_TOKEN(STR_SUPPRESS_TEST),
text = STRING_TOKEN(STR_SUPPRESS_TEST),
text = STRING_TOKEN(STR_SUPPRESS_TEST),
flags = INTERACTIVE,
key = 0x1556;
text
help = STRING_TOKEN(STR_CLEAR_TEST),
text
help = STRING_TOKEN(STR_CLEAR_TEST),
text = STRING_TOKEN(STR_CLEAR_TEST),
text = STRING_TOKEN(STR_CLEAR_TEST),
flags = INTERACTIVE,
key = 0x1557;
grayoutif vareqval var(VAR_EQ_TEST_NAME) == 0x1;
suppressif vareqval var(VAR_EQ_TEST_NAME) == 0x1000;
suppressif vareqval var(VAR_EQ_TEST_NAME) == 0x1000;
label 30;
checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,
prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
flags = 1,
key = 0,
endcheckbox;
endif;
numeric varid = MyIfrNVData.HowOldAreYouInYearsManual,
numeric varid = MyIfrNVData.HowOldAreYouInYearsManual,
prompt = STRING_TOKEN(STR_NUMERIC_MANUAL_PROMPT),
help = STRING_TOKEN(STR_NUMERIC_HELP0),
minimum = 0,
@ -270,11 +265,11 @@ formset
step = 0, // Stepping of 0 equates to a manual entering
// of a value, otherwise it will auto-increment
// with a left/right arrow
default = 21,
default = 21,
endnumeric;
numeric varid = MyIfrNVData.HowTallAreYouManual,
numeric varid = MyIfrNVData.HowTallAreYouManual,
prompt = STRING_TOKEN(STR_TALL_MANUAL_PROMPT),
help = STRING_TOKEN(STR_NUMERIC_HELP1),
minimum = 0,
@ -282,7 +277,7 @@ formset
step = 0, // Stepping of 0 equates to a manual entering
// of a value, otherwise it will auto-increment
// with a left/right arrow
default = 175,
default = 175,
endnumeric;
@ -291,7 +286,7 @@ formset
text = STRING_TOKEN(STR_INVENTORY_TEXT1),
text = STRING_TOKEN(STR_INVENTORY_TEXT2);
restore defaults,
formid = 4,
prompt = STRING_TOKEN(STR_RESTORE_DEFAULTS_PROMPT),
@ -306,7 +301,7 @@ formset
flags = 0,
key = 0;
//
//
// Case with no flags or key
//
save defaults,
@ -333,7 +328,7 @@ formset
label LABEL_2_VALUE;
grayoutif ideqval MyIfrNVData.HowOldAreYouInYearsManual == 23 AND ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;
numeric varid = MyIfrNVData.HowOldAreYouInYears,
numeric varid = MyIfrNVData.HowOldAreYouInYears,
prompt = STRING_TOKEN(STR_NUMERIC_PROMPT),
help = STRING_TOKEN(STR_NUMERIC_HELP2),
minimum = 0,
@ -348,7 +343,7 @@ formset
//
// Numeric with no step or default specified
//
numeric varid = MyIfrNVData.HowTallAreYou,
numeric varid = MyIfrNVData.HowTallAreYou,
prompt = STRING_TOKEN(STR_NUMERIC_PROMPT1),
help = STRING_TOKEN(STR_NUMERIC_HELP3),
minimum = 0,
@ -363,22 +358,22 @@ formset
help = STRING_TOKEN(STR_MY_STRING_HELP),
minsize = 6,
maxsize = 0x14,
endstring;
endstring;
password varid = MyIfrNVData.WhatIsThePassword,
prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),
help = STRING_TOKEN(STR_PASSWORD_HELP),
minsize = 6,
maxsize = 20, // new opcode
maxsize = 20, // new opcode
encoding = 1,
endpassword;
endpassword;
password varid = MyIfrNVData.WhatIsThePassword2,
prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),
help = STRING_TOKEN(STR_PASSWORD_HELP),
minsize = 6,
maxsize = 20, // new opcode
maxsize = 20, // new opcode
encoding = 1,
endpassword;
endpassword;
//
// Test with flags and key fields
//
@ -388,21 +383,21 @@ formset
flags = INTERACTIVE,
key = 0x2000,
minsize = 6,
maxsize = 20, // new opcode
maxsize = 20, // new opcode
encoding = 1,
endpassword;
goto 2,
goto 2,
prompt = STRING_TOKEN(STR_GOTO_FORM2), //SecondSetupPage // this too has no end-op and basically it's a jump to a form ONLY
help = STRING_TOKEN(STR_GOTO_HELP);
goto 3,
goto 3,
prompt = STRING_TOKEN(STR_GOTO_FORM3), //ThirdSetupPage // this too has no end-op and basically it's a jump to a form ONLY
help = STRING_TOKEN(STR_GOTO_HELP);
endform;
form formid = 2, // SecondSetupPage,
form formid = 2, // SecondSetupPage,
title = STRING_TOKEN(STR_FORM2_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
@ -510,11 +505,11 @@ formset
endtime;
grayoutif
grayoutif
ideqval Date.Day == 21
AND
ideqval Date.Month == 8;
hidden value = 32, key = 0x7777;
endif; // grayoutif
@ -522,8 +517,8 @@ formset
suppressif
ideqval Date.Day == 8
AND
ideqval Date.Month == 21;
ideqval Date.Month == 21;
hidden value = 32, key = 0x7777;
endif; // suppressif
@ -534,7 +529,7 @@ formset
inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
ideqval MyIfrNVData.HowOldAreYouInYearsManual == 4
endif;
inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
ideqvallist MyIfrNVData.HowOldAreYouInYearsManual == 1 2 3 4
endif;
@ -543,12 +538,12 @@ formset
ideqid MyIfrNVData.HowOldAreYouInYearsManual == MyIfrNVData.MyFavoriteNumber
endif;
// grayoutif
// grayoutif
//
// If the day is 31 AND months is any of the following 2, 4, 6, 9, 11
//
inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
ideqval Date.Day == 31
ideqval Date.Day == 31
AND
ideqvallist Date.Month == 2 4 6 9 11
endif;
@ -568,7 +563,7 @@ formset
inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
ideqval Date.Day == 0x1D
AND
ideqval Date.Month == 2
ideqval Date.Month == 2
AND
NOT
ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036
@ -576,23 +571,23 @@ formset
checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,
prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
help = STRING_TOKEN(STR_CHECK_BOX_HELP),
flags = 1,
key = 0,
endcheckbox;
text
help = STRING_TOKEN(STR_TEXT_HELP),
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_TEXT_TEXT_1);
text
help = STRING_TOKEN(STR_TEXT_HELP),
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_TEXT_TEXT_1),
text = STRING_TOKEN(STR_TEXT_TEXT_2),
flags = 0,
key = MY_TEXT_KEY;
goto 1,
goto 1,
prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage // this too has no end-op and basically it's a jump to a form ONLY
help = STRING_TOKEN(STR_GOTO_HELP);
@ -601,23 +596,23 @@ formset
form formid = 3, title = STRING_TOKEN(STR_FORM3_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;
text
help = STRING_TOKEN(STR_TEXT_HELP),
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_TEXT_TEXT_1);
endif; //end grayoutif
text
help = STRING_TOKEN(STR_TEXT_HELP),
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_TEXT_TEXT_1);
endform;
form formid = 4, title = STRING_TOKEN(STR_FORM3_TITLE);
endform;
form formid = 0x1234, // Dynamically created page,
form formid = 0x1234, // Dynamically created page,
title = STRING_TOKEN(STR_DYNAMIC_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
label 0x1234;

View File

@ -24,7 +24,7 @@
// The protocols, PPI and GUID defintions for this module
//
#include <Protocol/FormCallback.h>
#include <Protocol/FormBrowser.h>
#include <Protocol/FrameworkFormBrowser.h>
#include <Protocol/FrameworkHii.h>
#include <Protocol/Print.h>
//

View File

@ -44,7 +44,7 @@ UINTN
_IPrint (
IN UINTN Column,
IN UINTN Row,
IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *Out,
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *Out,
IN CHAR16 *fmt,
IN VA_LIST args
)

View File

@ -81,8 +81,8 @@
################################################################################
[LibraryClasses]
EdkGraphicsLib
FrameworkHiiLib
GraphicsLib
HiiLibFramework
UefiRuntimeServicesTableLib
UefiBootServicesTableLib
PrintLib

View File

@ -27,6 +27,7 @@
#include <PiDxe.h>
#include <Protocol/FrameworkHii.h>
#include <Protocol/FrameworkFormBrowser.h>
#define EFI_FORM_CALLBACK_PROTOCOL_GUID \
{ \

View File

@ -0,0 +1,160 @@
/** @file
The EFI_FORM_BROWSER_PROTOCOL is the interface to the EFI
Configuration Driver. This will allow the caller to direct the
configuration driver to use either the HII database or use the passed
in packet of data. This will also allow the caller to post messages
into the configuration drivers internal mailbox.
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name: FrameworkFormBrowser.h
@par Revision Reference:
This protocol is defined in HII spec 0.92.
**/
#ifndef __FRAMEWORK_FORM_BROWSER_H__
#define __FRAMEWORK_FORM_BROWSER_H__
#define EFI_FORM_BROWSER_PROTOCOL_GUID \
{ \
0xe5a1333e, 0xe1b4, 0x4d55, {0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 } \
}
typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL;
typedef struct {
UINT32 Length;
UINT16 Type;
UINT8 Data[1];
} EFI_HII_PACKET;
typedef struct {
EFI_HII_IFR_PACK *IfrData;
EFI_HII_STRING_PACK *StringData;
} EFI_IFR_PACKET;
typedef struct {
UINTN LeftColumn;
UINTN RightColumn;
UINTN TopRow;
UINTN BottomRow;
} EFI_SCREEN_DESCRIPTOR;
/**
Provides direction to the configuration driver whether to use the HII
database or a passed-in set of data. This function also establishes a
pointer to the calling driver's callback interface.
@param This A pointer to the EFI_FORM_BROWSER_PROTOCOL instance.
@param UseDatabase Determines whether the HII database is to be
used to gather information. If the value is FALSE, the configuration
driver will get the information provided in the passed-in Packet parameters.
@param Handle A pointer to an array of HII handles to display. This value
should correspond to the value of the HII form package that is required to
be displayed.
@param HandleCount The number of handles in the array specified by Handle.
@param Packet A pointer to a set of data containing pointers to IFR
and/or string data.
@param CallbackHandle The handle to the driver's callback interface.
This parameter is used only when the UseDatabase parameter is FALSE
and an application wants to register a callback with the browser
@param NvMapOverride This buffer is used only when there is no NV variable
to define the current settings and the caller needs to provide to the browser
the current settings for the "fake" NV variable.
@param ScreenDimensions Allows the browser to be called so that it occupies
a portion of the physical screen instead of dynamically determining the
screen dimensions.
@param ResetRequired This BOOLEAN value will tell the caller if a reset
is required based on the data that might have been changed. The ResetRequired
parameter is primarily applicable for configuration applications, and is an
optional parameter.
@retval EFI_SUCCESS The function completed successfully
@retval EFI_NOT_FOUND The variable was not found.
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
DataSize has been updated with the size needed to complete the request.
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
@retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_SEND_FORM) (
IN EFI_FORM_BROWSER_PROTOCOL *This,
IN BOOLEAN UseDatabase,
IN EFI_HII_HANDLE *Handle,
IN UINTN HandleCount,
IN EFI_IFR_PACKET *Packet, OPTIONAL
IN EFI_HANDLE CallbackHandle, OPTIONAL
IN UINT8 *NvMapOverride, OPTIONAL
IN EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL
OUT BOOLEAN *ResetRequired OPTIONAL
);
/**
Routine used to abstract a generic dialog interface and return the selected
key or string.
@param NumberOfLines The number of lines for the dialog box.
@param HotKey Defines whether a single character is parsed (TRUE)
and returned in KeyValue or if a string is returned in StringBuffer.
@param MaximumStringSize The maximum size in bytes of a typed-in string.
Because each character is a CHAR16, the minimum string returned is two bytes.
@param StringBuffer The passed-in pointer to the buffer that will hold
the typed in string if HotKey is FALSE.
@param KeyValue The EFI_INPUT_KEY value returned if HotKey is TRUE.
@param String The pointer to the first string in the list of strings
that comprise the dialog box.
@param ... A series of NumberOfLines text strings that will be used
to construct the dialog box.
@retval EFI_SUCCESS The dialog was displayed and user interaction was received.
@retval EFI_DEVICE_ERROR The user typed in an ESC character to exit the routine.
@retval EFI_INVALID_PARAMETER One of the parameters was invalid
**/
typedef
EFI_STATUS
(EFIAPI *EFI_CREATE_POP_UP) (
IN UINTN NumberOfLines,
IN BOOLEAN HotKey,
IN UINTN MaximumStringSize,
OUT CHAR16 *StringBuffer,
OUT EFI_INPUT_KEY *KeyValue,
IN CHAR16 *String,
...
);
/**
@par Protocol Description:
The EFI_FORM_BROWSER_PROTOCOL is the interface to call for drivers to
leverage the EFI configuration driver interface.
@param SendForm
Provides direction to the configuration driver whether to use the HII
database or to use a passed-in set of data. This functions also establishes
a pointer to the calling driver's callback interface.
@param CreatePopUp
Routine used to abstract a generic dialog interface and return the
selected key or string.
**/
struct _EFI_FORM_BROWSER_PROTOCOL {
EFI_SEND_FORM SendForm;
EFI_CREATE_POP_UP CreatePopUp;
};
extern EFI_GUID gEfiFormBrowserProtocolGuid;
#endif

View File

@ -414,17 +414,6 @@ typedef struct _EFI_HII_VARIABLE_PACK_LIST {
EFI_HII_VARIABLE_PACK *VariablePack;
} EFI_HII_VARIABLE_PACK_LIST;
typedef struct {
EFI_HII_IFR_PACK *IfrData;
EFI_HII_STRING_PACK *StringData;
} EFI_IFR_PACKET;
typedef struct {
UINTN LeftColumn;
UINTN RightColumn;
UINTN TopRow;
UINTN BottomRow;
} EFI_SCREEN_DESCRIPTOR;
#pragma pack()

View File

@ -26,7 +26,7 @@
PACKAGE_NAME = Nt32Pkg
PACKAGE_GUID = 0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3
PACKAGE_VERSION = 0.1
################################################################################
#
# Include Section - list of Include Paths that are provided by this package.
@ -71,10 +71,6 @@
gEfiWinNtVirtualDisksGuid = { 0x0C95A928, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
gEfiNt32PkgTokenSpaceGuid = { 0x0D79A645, 0x1D91, 0x40a6, { 0xA8, 0x1F, 0x61, 0xE6, 0x98, 0x2B, 0x32, 0xB4 }}
[Ppis.common]
gPeiNtThunkPpiGuid = { 0x98c281e5, 0xf906, 0x43dd, { 0xa9, 0x2b, 0xb0, 0x03, 0xbf, 0x27, 0x65, 0xda }}
gPeiNtAutoScanPpiGuid = { 0x0dce384d, 0x007c, 0x4ba5, { 0x94, 0xbd, 0x0f, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 }}
gEfiPeiMemoryDiscoveredPpiGuid = { 0xF894643D, 0xC449, 0x42D1, { 0x8E, 0xA8, 0x85, 0xBD, 0xD8, 0xC6, 0x5B, 0xDE }}
################################################################################
#
@ -87,6 +83,16 @@
gEfiWinNtThunkProtocolGuid = { 0x58C518B1, 0x76F3, 0x11D4, { 0xBC, 0xEA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
gEfiWinNtIoProtocolGuid = { 0x96EB4AD6, 0xA32A, 0x11D4, { 0xBC, 0xFD, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
################################################################################
#
# Global Ppis Definition section - list of Global Ppis C Name Data Structures
# that are provided by this package.
#
################################################################################
[Ppis.common]
gPeiNtThunkPpiGuid = { 0x98c281e5, 0xf906, 0x43dd, { 0xa9, 0x2b, 0xb0, 0x03, 0xbf, 0x27, 0x65, 0xda }}
gPeiNtAutoScanPpiGuid = { 0x0dce384d, 0x007c, 0x4ba5, { 0x94, 0xbd, 0x0f, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 }}
gEfiPeiMemoryDiscoveredPpiGuid = { 0xF894643D, 0xC449, 0x42D1, { 0x8E, 0xA8, 0x85, 0xBD, 0xD8, 0xC6, 0x5B, 0xDE }}
################################################################################
#

View File

@ -411,7 +411,7 @@
$(WORKSPACE)/Nt32Pkg/MonotonicCounterRuntimeDxe/Metronome.inf
$(WORKSPACE)/Nt32Pkg/CpuRuntimeDxe/Cpu.inf
$(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/Nt32Fwh.inf
#$(WORKSPACE)/Nt32Pkg\PlatformBdsDxe\PlatformBds.inf
#$(WORKSPACE)/Nt32Pkg/PlatformBdsDxe/PlatformBds.inf
${WORKSPACE}/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf
${WORKSPACE}/MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleRuntime.inf
${WORKSPACE}/MdeModulePkg/Universal/Ebc/Dxe/Ebc.inf
@ -430,7 +430,10 @@
$(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBus/Dxe/IdeBus.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf
#$(WORKSPACE)\IntelFrameworkModulePkg\Universal\StatusCode\Dxe\DxeStatusCode.inf
#$(WORKSPACE)\IntelFrameworkModulePkg\Universal\StatusCode\Pei\PeiStatusCode.inf
#$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
#$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf
${WORKSPACE}/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf ##This driver follows UEFI specification definition
${WORKSPACE}/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf ##This driver follows UEFI specification definition