summaryrefslogtreecommitdiff
path: root/Board/EM/Setup/Boot.vfr
blob: 43e625a9b50579094846e36f7e48f3590abf3f9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2009, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************

//**********************************************************************
// $Header: /Alaska/BIN/Board/Setup/Boot.vfr 24    2/27/12 6:35p Artems $
//
// $Revision: 24 $
//
// $Date: 2/27/12 6:35p $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/BIN/Board/Setup/Boot.vfr $
// 
// 24    2/27/12 6:35p Artems
// EIP 83602: Added MANUFACTURING flag to setup controls
// 
// 23    6/13/11 6:56p Artems
// Added token to support zero boot timeout
// 
// 22    3/24/11 12:16p Felixp
// Enhancement(EIP: 55918)
// Workaround for defaults processing in TSE
// There is a peculiar problem with the AMITSESETUP.AMISilentBoot
// checkbox. 
// The defaults for this control were not loaded in UEFI 2.1 mode.
// The problem is caused by combination of factors: 
//  - AMISilentBoot is a special variable (it holds internal TSE data); 
//  - there are several ways to specify default value for a checkbox in
// UEFI 2.1 VFR syntax
//    (old method of using flags does not work for this special variable).
// 
// 21    11/18/10 5:46p Felixp
// Flat Boot List support.
//     Changes necessary to support Flat Boot List
//      introduced in Core 4.6.4.1 are added. 
// 
// 20    2/24/10 11:53a Felixp
// Fast Boot Control are removed. They are now part of the FastBoot
// eModule.
// 
// 19    10/09/09 6:43p Felixp
// UEFI 2.1 Support (the component is updated to support Framework and
// UEFI 2.1 HII).
// 
// 18    6/30/09 11:42a Robert
// Added Comment and updated parts for coding standards
// 
// 17    6/06/08 11:55a Felixp
// Fast boot support is enabled
// 
// 16    1/31/08 11:51a Olegi
// NumLock state added.
// 
// 15    10/30/07 10:42a Felixp
// SYSTEM_ACCESS varstore declaration added
// 
// 14    9/05/07 5:26p Felixp
// Changes needed for TSE from Core 4.6.2
// 
// 13    2/21/07 5:01p Felixp
// ADD_BOOT_OPTION varstore updated
// 
// 12    12/29/06 2:38p Felixp
// 
// 11    10/08/06 11:34a Felixp
// Minimum boot timeout changed from 0 to 1 second.
// 
// 10    12/12/05 8:59p Felixp
// step for Timeout numeric added.
// 
// 9     11/08/05 5:11a Felixp
// Update to be complient with TSE 1.15.1044
// 
// 8     11/07/05 10:54a Felixp
// Support for boot with minimum configuration added
// 
// 7     10/19/05 2:07p Felixp
// Support for custom varstores (in .sd files) added.
// 
// 6     9/06/05 6:20p Girim
// Code cleanup.
// 
// 4     7/12/05 11:13a Felixp
// workaround for VFR compiler bug in varstore handling
// 
//**********************************************************************

//<AMI_FHDR_START>
//**********************************************************************
//
// Name:        Boot.vfr
//
// Description: 
//  Setup script for the "Boot" top level setup screen
//
//**********************************************************************
//<AMI_FHDR_END>

#include "SetupPrivate.h"
#define BOOT_FORM_SET
#define FORM_SET_TYPEDEF
#include <SetupDefinitions.h>
#undef FORM_SET_TYPEDEF

formset guid  = BOOT_FORM_SET_GUID,
    title = STRING_TOKEN(STR_BOOT),
    help = STRING_TOKEN(STR_BOOT_HELP),
    class = BOOT_FORM_SET_CLASS,
    subclass = 0,

    SETUP_DATA_VARSTORE
    SYSTEM_ACCESS_VARSTORE
    BOOT_MANAGER_VARSTORE
    TIMEOUT_VARSTORE
    BOOT_ORDER_VARSTORE
    NEW_BOOT_OPTION_VARSTORE
    DEL_BOOT_OPTION_VARSTORE
    LEGACY_DEV_INFO_VARSTORE
    LEGACY_GROUP_INFO_VARSTORE
    LEGACY_DEV_ORDER_VARSTORE
    AMI_CALLBACK_VARSTORE
    AMITSESETUP_VARSTORE

    #define FORM_SET_VARSTORE
    #include <SetupDefinitions.h>
    #undef FORM_SET_VARSTORE

    form
        formid = AUTO_ID(BOOT_MAIN),
        title = STRING_TOKEN(STR_BOOT);

        SUBTITLE(STRING_TOKEN(STR_BOOT_CFG))

        numeric varid = TIMEOUT.Value,
            prompt = STRING_TOKEN(STR_BOOT_TIMEOUT),
            help = STRING_TOKEN(STR_BOOT_TIMEOUT_HELP),
#if SUPPORT_ZERO_BOOT_TIMEOUT
            minimum = 0x0,
#else
            minimum = 0x1,
#endif
            maximum = 0xffff,
            step = 1,
            option text = STRING_TOKEN(STR_EMPTY), value = DEFAULT_BOOT_TIMEOUT, flags = DEFAULT | MANUFACTURING;
        endnumeric;

        oneof varid = SETUP_DATA.Numlock,
            prompt = STRING_TOKEN(STR_CSM_BOOTUP_NUMLOCK),
            help = STRING_TOKEN(STR_CSM_BOOTUP_NUMLOCK_HELP),
            option text = STRING_TOKEN(STR_CSM_BOOTUP_NUMLOCK_ON), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;
            option text = STRING_TOKEN(STR_CSM_BOOTUP_NUMLOCK_OFF), value = 0, flags = 0, key = 0;
        endoneof;

        SEPARATOR
        checkbox varid = AMITSESETUP.AMISilentBoot,
            prompt = STRING_TOKEN(STR_QUIET_BOOT),
            help = STRING_TOKEN(STR_QUIET_BOOT_HELP),
            flags = DEFAULT_QUIET_BOOT, // Flags behavior for checkbox is overloaded so that it equals a DEFAULT value.  1 = ON, 0 = off
#if EFI_SPECIFICATION_VERSION>0x20000
//Workaround for defaults processing in TSE.
//There is a peculiar problem with this checkbox. 
//The defaults for this control were not loaded in UEFI 2.1 mode.
//The problem is caused by combination of factors: 
// - AMISilentBoot is a special variable (it holds internal TSE data); 
// - there are several ways to specify default value for a checkbox in UEFI 2.1 VFR syntax
//   (old method of using flags does not work for this special variable).
            option text = STRING_TOKEN(STR_EMPTY), value = DEFAULT_QUIET_BOOT, flags = DEFAULT | MANUFACTURING;
#endif
        endcheckbox;

        #define FORM_SET_ITEM
        #include <SetupDefinitions.h>
        #undef FORM_SET_ITEM

        CSM_OPT_OUT_PXE_OPROM

        SEPARATOR
        SUBTITLE(STRING_TOKEN(STR_BOOT_ORDER_SUBTITLE))
        suppressif ideqvallist BOOT_MANAGER.BootCount == 0xFFFF;
            oneof varid = BOOT_ORDER.Value,
                prompt = STRING_TOKEN(STR_BOOT_ORDER_X),
                help = STRING_TOKEN(STR_BOOT_ORDER_HELP),
                option
                    text = STRING_TOKEN(STR_EMPTY),
                    value = 0,
                    flags = DEFAULT;
                option
                    text = STRING_TOKEN(STR_EMPTY),
                    value = 1,
                    flags = 0;
            endoneof;
        endif;

#if !defined(GROUP_BOOT_OPTIONS_BY_TAG) || GROUP_BOOT_OPTIONS_BY_TAG==1
        SEPARATOR
        suppressif ideqvallist LEGACY_DEV_INFO.GroupCount == 0xFFFF;
            goto BBS_ORDER_FORM,
            prompt = STRING_TOKEN(STR_EMPTY),
            help = STRING_TOKEN(STR_BBS_ORDER_HELP);
        endif;
#endif
        #define FORM_SET_GOTO
        #include <SetupDefinitions.h>
        #undef FORM_SET_GOTO
    endform;
#if !defined(GROUP_BOOT_OPTIONS_BY_TAG) || GROUP_BOOT_OPTIONS_BY_TAG==1
    form
        formid = AUTO_ID(BBS_ORDER_FORM),
        title = STRING_TOKEN(STR_BOOT);

        suppressif ideqvallist LEGACY_GROUP_INFO.DeviceCount == 0xFFFF;
            oneof
                varid = LEGACY_DEV_ORDER.Value,
                prompt = STRING_TOKEN(STR_BOOT_ORDER_X),
                help = STRING_TOKEN(STR_BOOT_ORDER_HELP),
                option
                    text = STRING_TOKEN(STR_EMPTY),
                    value = 0,
                    flags = DEFAULT;
                option
                    text = STRING_TOKEN(STR_EMPTY),
                    value = 1,
                    flags = 0;
            endoneof;
        endif;
    endform;
#endif
    #define FORM_SET_FORM
    #include <SetupDefinitions.h>
    #undef FORM_SET_FORM
endformset;

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2009, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************