]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/UPT/Library/DataType.py
BaseTools: Clean up source files
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Library / DataType.py
CommitLineData
4234283c
LG
1## @file\r
2# This file is used to define class for data type structure\r
3#\r
f7496d71 4# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r
4234283c 5#\r
f7496d71
LG
6# This program and the accompanying materials are licensed and made available\r
7# under the terms and conditions of the BSD License which accompanies this\r
8# distribution. The full text of the license may be found at\r
4234283c
LG
9# http://opensource.org/licenses/bsd-license.php\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14'''\r
15DataType\r
16'''\r
17\r
18##\r
19# Module List Items\r
20#\r
21MODULE_LIST = ["BASE",\r
22 "SEC",\r
23 "PEI_CORE",\r
24 "PEIM",\r
25 "DXE_CORE",\r
26 "DXE_DRIVER",\r
27 "SMM_CORE",\r
28 "DXE_RUNTIME_DRIVER",\r
29 "DXE_SAL_DRIVER",\r
30 "DXE_SMM_DRIVER",\r
31 "UEFI_DRIVER",\r
32 "UEFI_APPLICATION",\r
33 "USER_DEFINED"]\r
34\r
35VALID_DEPEX_MODULE_TYPE_LIST = ["PEIM",\r
36 "DXE_DRIVER",\r
37 "DXE_SMM_DRIVER",\r
38 "DXE_RUNTIME_DRIVER",\r
39 "DXE_SAL_DRIVER",\r
40 "UEFI_DRIVER",\r
41 ]\r
42##\r
43# Usage List Items\r
44#\r
45USAGE_LIST = ["CONSUMES",\r
46 "SOMETIMES_CONSUMES",\r
47 "PRODUCES",\r
48 "SOMETIMES_PRODUCES"]\r
49\r
421ccda3
HC
50TAB_LANGUAGE_EN_US = 'en-US'\r
51TAB_LANGUAGE_ENG = 'eng'\r
52TAB_LANGUAGE_EN = 'en'\r
53TAB_LANGUAGE_EN_X = 'en-x-tianocore'\r
4234283c
LG
54\r
55USAGE_ITEM_PRODUCES = 'PRODUCES'\r
56USAGE_ITEM_SOMETIMES_PRODUCES = 'SOMETIMES_PRODUCES'\r
57USAGE_ITEM_CONSUMES = 'CONSUMES'\r
58USAGE_ITEM_SOMETIMES_CONSUMES = 'SOMETIMES_CONSUMES'\r
59USAGE_ITEM_TO_START = 'TO_START'\r
60USAGE_ITEM_BY_START = 'BY_START'\r
61USAGE_ITEM_NOTIFY = 'NOTIFY'\r
62USAGE_ITEM_UNDEFINED = 'UNDEFINED'\r
63\r
64USAGE_CONSUMES_LIST = [USAGE_ITEM_CONSUMES,\r
65 'CONSUMED',\r
66 'ALWAYS_CONSUMED',\r
f7496d71 67 'ALWAYS_CONSUMES'\r
4234283c
LG
68 ]\r
69\r
70USAGE_PRODUCES_LIST = [USAGE_ITEM_PRODUCES,\r
71 'PRODUCED',\r
72 'ALWAYS_PRODUCED',\r
f7496d71 73 'ALWAYS_PRODUCES'\r
4234283c
LG
74 ]\r
75\r
76USAGE_SOMETIMES_PRODUCES_LIST = [USAGE_ITEM_SOMETIMES_PRODUCES,\r
77 'SOMETIMES_PRODUCED'\r
78 ]\r
79\r
80USAGE_SOMETIMES_CONSUMES_LIST = [USAGE_ITEM_SOMETIMES_CONSUMES,\r
81 'SOMETIMES_CONSUMED'\r
82 ]\r
83\r
84ITEM_UNDEFINED = 'UNDEFINED'\r
85\r
421ccda3
HC
86TAB_PCD_VALIDRANGE = '@ValidRange'\r
87TAB_PCD_VALIDLIST = '@ValidList'\r
88TAB_PCD_EXPRESSION = '@Expression'\r
89TAB_PCD_PROMPT = '@Prompt'\r
90TAB_STR_TOKENCNAME = 'STR'\r
91TAB_STR_TOKENPROMPT = 'PROMPT'\r
92TAB_STR_TOKENHELP = 'HELP'\r
93TAB_STR_TOKENERR = 'ERR'\r
4234283c
LG
94\r
95#\r
96# Dictionary of usage tokens and their synonmys\r
f7496d71 97#\r
4234283c
LG
98ALL_USAGE_TOKENS = {\r
99 "PRODUCES" : "PRODUCES",\r
100 "PRODUCED" : "PRODUCES",\r
101 "ALWAYS_PRODUCES" : "PRODUCES",\r
102 "ALWAYS_PRODUCED" : "PRODUCES",\r
103 "SOMETIMES_PRODUCES" : "SOMETIMES_PRODUCES",\r
104 "SOMETIMES_PRODUCED" : "SOMETIMES_PRODUCES",\r
105 "CONSUMES" : "CONSUMES",\r
106 "CONSUMED" : "CONSUMES",\r
107 "ALWAYS_CONSUMES" : "CONSUMES",\r
108 "ALWAYS_CONSUMED" : "CONSUMES",\r
109 "SOMETIMES_CONSUMES" : "SOMETIMES_CONSUMES",\r
110 "SOMETIMES_CONSUMED" : "SOMETIMES_CONSUMES",\r
111 "SOMETIME_CONSUMES" : "SOMETIMES_CONSUMES",\r
f7496d71 112 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
113 }\r
114\r
115PROTOCOL_USAGE_TOKENS = {\r
116 "TO_START" : "TO_START",\r
117 "BY_START" : "BY_START"\r
118 }\r
f7496d71 119\r
4234283c 120PROTOCOL_USAGE_TOKENS.update (ALL_USAGE_TOKENS)\r
f7496d71 121\r
4234283c
LG
122#\r
123# Dictionary of GUID type tokens\r
f7496d71
LG
124#\r
125GUID_TYPE_TOKENS = {\r
4234283c
LG
126 "Event" : "Event",\r
127 "File" : "File",\r
128 "FV" : "FV",\r
129 "GUID" : "GUID",\r
130 "Guid" : "GUID",\r
131 "HII" : "HII",\r
132 "HOB" : "HOB",\r
133 "Hob" : "HOB",\r
134 "Hob:" : "HOB",\r
135 "SystemTable" : "SystemTable",\r
136 "TokenSpaceGuid" : "TokenSpaceGuid",\r
f7496d71 137 "UNDEFINED" : "UNDEFINED"\r
4234283c 138 }\r
f7496d71 139\r
4234283c
LG
140#\r
141# Dictionary of Protocol Notify tokens and their synonyms\r
f7496d71
LG
142#\r
143PROTOCOL_NOTIFY_TOKENS = {\r
4234283c
LG
144 "NOTIFY" : "NOTIFY",\r
145 "PROTOCOL_NOTIFY" : "NOTIFY",\r
f7496d71 146 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
147 }\r
148\r
149#\r
150# Dictionary of PPI Notify tokens and their synonyms\r
f7496d71
LG
151#\r
152PPI_NOTIFY_TOKENS = {\r
4234283c
LG
153 "NOTIFY" : "NOTIFY",\r
154 "PPI_NOTIFY" : "NOTIFY",\r
f7496d71 155 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
156 }\r
157\r
158EVENT_TOKENS = {\r
159 "EVENT_TYPE_PERIODIC_TIMER" : "EVENT_TYPE_PERIODIC_TIMER",\r
160 "EVENT_TYPE_RELATIVE_TIMER" : "EVENT_TYPE_RELATIVE_TIMER",\r
f7496d71 161 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
162 }\r
163\r
164BOOTMODE_TOKENS = {\r
165 "FULL" : "FULL",\r
166 "MINIMAL" : "MINIMAL",\r
167 "NO_CHANGE" : "NO_CHANGE",\r
168 "DIAGNOSTICS" : "DIAGNOSTICS",\r
169 "DEFAULT" : "DEFAULT",\r
170 "S2_RESUME" : "S2_RESUME",\r
171 "S3_RESUME" : "S3_RESUME",\r
172 "S4_RESUME" : "S4_RESUME",\r
173 "S5_RESUME" : "S5_RESUME",\r
174 "FLASH_UPDATE" : "FLASH_UPDATE",\r
175 "RECOVERY_FULL" : "RECOVERY_FULL",\r
176 "RECOVERY_MINIMAL" : "RECOVERY_MINIMAL",\r
177 "RECOVERY_NO_CHANGE" : "RECOVERY_NO_CHANGE",\r
178 "RECOVERY_DIAGNOSTICS" : "RECOVERY_DIAGNOSTICS",\r
179 "RECOVERY_DEFAULT" : "RECOVERY_DEFAULT",\r
180 "RECOVERY_S2_RESUME" : "RECOVERY_S2_RESUME",\r
181 "RECOVERY_S3_RESUME" : "RECOVERY_S3_RESUME",\r
182 "RECOVERY_S4_RESUME" : "RECOVERY_S4_RESUME",\r
183 "RECOVERY_S5_RESUME" : "RECOVERY_S5_RESUME",\r
184 "RECOVERY_FLASH_UPDATE" : "RECOVERY_FLASH_UPDATE",\r
f7496d71 185 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
186 }\r
187\r
f7496d71 188HOB_TOKENS = {\r
4234283c
LG
189 "PHIT" : "PHIT",\r
190 "MEMORY_ALLOCATION" : "MEMORY_ALLOCATION",\r
191 "LOAD_PEIM" : "LOAD_PEIM",\r
192 "RESOURCE_DESCRIPTOR" : "RESOURCE_DESCRIPTOR",\r
193 "FIRMWARE_VOLUME" : "FIRMWARE_VOLUME",\r
f7496d71 194 "UNDEFINED" : "UNDEFINED"\r
4234283c
LG
195 }\r
196\r
197##\r
198# Usage List Items for Protocol\r
199#\r
200PROTOCOL_USAGE_LIST = USAGE_LIST + ["TO_START", "BY_START"]\r
201\r
202##\r
203# End of Line\r
204# Use this but not os.linesep for os.linesep has bug in it.\r
205#\r
206END_OF_LINE = '\n'\r
207\r
208##\r
209# Arch List Items\r
210#\r
211ARCH_LIST = ["IA32",\r
212 "X64",\r
213 "IPF",\r
214 "EBC",\r
215 "COMMON"]\r
216##\r
217# PCD driver type list items\r
218#\r
219PCD_DIRVER_TYPE_LIST = ["PEI_PCD_DRIVER", "DXE_PCD_DRIVER"]\r
220\r
221##\r
222# Boot Mode List Items\r
223#\r
224BOOT_MODE_LIST = ["FULL",\r
225 "MINIMAL",\r
f7496d71
LG
226 "NO_CHANGE",\r
227 "DIAGNOSTICS",\r
228 "DEFAULT",\r
4234283c 229 "S2_RESUME",\r
f7496d71
LG
230 "S3_RESUME",\r
231 "S4_RESUME",\r
232 "S5_RESUME",\r
4234283c 233 "FLASH_UPDATE",\r
f7496d71
LG
234 "RECOVERY_FULL",\r
235 "RECOVERY_MINIMAL",\r
4234283c 236 "RECOVERY_NO_CHANGE",\r
f7496d71 237 "RECOVERY_DIAGNOSTICS",\r
4234283c 238 "RECOVERY_DEFAULT",\r
f7496d71 239 "RECOVERY_S2_RESUME",\r
4234283c 240 "RECOVERY_S3_RESUME",\r
f7496d71 241 "RECOVERY_S4_RESUME",\r
4234283c
LG
242 "RECOVERY_S5_RESUME",\r
243 "RECOVERY_FLASH_UPDATE"]\r
244\r
245##\r
246# Event Type List Items\r
247#\r
248EVENT_TYPE_LIST = ["EVENT_TYPE_PERIODIC_TIMER",\r
249 "EVENT_TYPE_RELATIVE_TIMER"]\r
250\r
251##\r
252# Hob Type List Items\r
253#\r
f7496d71 254HOB_TYPE_LIST = ["PHIT",\r
4234283c 255 "MEMORY_ALLOCATION",\r
f7496d71 256 "RESOURCE_DESCRIPTOR",\r
4234283c
LG
257 "FIRMWARE_VOLUME",\r
258 "LOAD_PEIM"]\r
259\r
260##\r
261# GUID_TYPE_LIST\r
262#\r
263GUID_TYPE_LIST = ["Event", "File", "FV", "GUID", "HII", "HOB",\r
264 "SystemTable", "TokenSpaceGuid", "Variable"]\r
265##\r
266# PCD Usage Type List of Package\r
267#\r
268PCD_USAGE_TYPE_LIST_OF_PACKAGE = ["FeatureFlag", "PatchableInModule",\r
269 "FixedAtBuild", "Dynamic", "DynamicEx"]\r
270\r
271##\r
272# PCD Usage Type List of Module\r
273#\r
274PCD_USAGE_TYPE_LIST_OF_MODULE = ["FEATUREPCD", "PATCHPCD", "FIXEDPCD", "PCD", "PCDEX"]\r
275##\r
276# PCD Usage Type List of UPT\r
277#\r
278PCD_USAGE_TYPE_LIST_OF_UPT = PCD_USAGE_TYPE_LIST_OF_MODULE\r
279\r
280##\r
281# Binary File Type List\r
282#\r
421ccda3 283BINARY_FILE_TYPE_LIST = ["PE32", "PIC", "TE", "DXE_DEPEX", "VER", "UI", "COMPAT16", "FV", "BIN", "RAW",\r
4234283c
LG
284 "ACPI", "ASL",\r
285 "PEI_DEPEX",\r
286 "SMM_DEPEX",\r
421ccda3
HC
287 "SUBTYPE_GUID",\r
288 "DISPOSABLE"\r
4234283c
LG
289 ]\r
290BINARY_FILE_TYPE_LIST_IN_UDP = \\r
291 ["GUID", "FREEFORM",\r
292 "UEFI_IMAGE", "PE32", "PIC",\r
f7496d71 293 "PEI_DEPEX",\r
4234283c
LG
294 "DXE_DEPEX",\r
295 "SMM_DEPEX",\r
296 "FV", "TE",\r
f7496d71 297 "BIN", "VER", "UI"\r
4234283c
LG
298 ]\r
299\r
421ccda3 300SUBTYPE_GUID_BINARY_FILE_TYPE = "FREEFORM"\r
4234283c 301##\r
f7496d71
LG
302# Possible values for COMPONENT_TYPE, and their descriptions, are listed in\r
303# the table,\r
304# "Component (module) Types." For each component, the BASE_NAME and\r
305# COMPONENT_TYPE\r
4234283c
LG
306# are required. The COMPONENT_TYPE definition is case sensitive.\r
307#\r
308COMPONENT_TYPE_LIST = [\r
309 "APPLICATION",\r
310 "ACPITABLE",\r
311 "APRIORI",\r
312 "BINARY",\r
313 "BS_DRIVER",\r
314 "CONFIG",\r
315 "FILE",\r
316 "FVIMAGEFILE",\r
317 "LIBRARY",\r
318 "LOGO",\r
319 "LEGACY16",\r
320 "MICROCODE",\r
321 "PE32_PEIM",\r
322 "PEI_CORE",\r
323 "RAWFILE",\r
324 "RT_DRIVER",\r
325 "SAL_RT_DRIVER",\r
326 "SECURITY_CORE",\r
327 "COMBINED_PEIM_DRIVER",\r
328 "PIC_PEIM",\r
329 "RELOCATABLE_PEIM"\r
330 ]\r
331\r
332##\r
333# Common Definitions\r
334#\r
335TAB_SPLIT = '.'\r
336TAB_COMMENT_EDK1_START = '/*'\r
337TAB_COMMENT_EDK1_END = '*/'\r
338TAB_COMMENT_EDK1_SPLIT = '//'\r
339TAB_COMMENT_SPLIT = '#'\r
340TAB_EQUAL_SPLIT = '='\r
341TAB_DEQUAL_SPLIT = '=='\r
342TAB_VALUE_SPLIT = '|'\r
343TAB_COMMA_SPLIT = ','\r
421ccda3 344TAB_HORIZON_LINE_SPLIT = '-'\r
4234283c
LG
345TAB_SPACE_SPLIT = ' '\r
346TAB_UNDERLINE_SPLIT = '_'\r
347TAB_SEMI_COLON_SPLIT = ';'\r
348TAB_COLON_SPLIT = ':'\r
349TAB_SECTION_START = '['\r
350TAB_SECTION_END = ']'\r
351TAB_OPTION_START = '<'\r
352TAB_OPTION_END = '>'\r
353TAB_SLASH = '\\'\r
354TAB_BACK_SLASH = '/'\r
355TAB_SPECIAL_COMMENT = '##'\r
356TAB_HEADER_COMMENT = '@file'\r
2bc3256c 357TAB_BINARY_HEADER_COMMENT = '@BinaryHeader'\r
421ccda3
HC
358TAB_STAR = '*'\r
359TAB_ENCODING_UTF16LE = 'utf_16_le'\r
360TAB_CAPHEX_START = '0X'\r
361TAB_HEX_START = '0x'\r
362TAB_PCD_ERROR = 'Error'\r
363TAB_PCD_ERROR_SECTION_COMMENT = 'Error message section'\r
364TAB_UNI_FILE_SUFFIXS = ['.uni', '.UNI', '.Uni']\r
4234283c
LG
365\r
366TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
367TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
368TAB_WORKSPACE = '$(WORKSPACE)'\r
369\r
370TAB_ARCH_NULL = ''\r
371TAB_ARCH_COMMON = 'COMMON'\r
372TAB_ARCH_IA32 = 'IA32'\r
373TAB_ARCH_X64 = 'X64'\r
374TAB_ARCH_IPF = 'IPF'\r
375TAB_ARCH_ARM = 'ARM'\r
376TAB_ARCH_EBC = 'EBC'\r
377\r
378ARCH_LIST = \\r
421ccda3 379[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC]\r
4234283c
LG
380\r
381SUP_MODULE_BASE = 'BASE'\r
382SUP_MODULE_SEC = 'SEC'\r
383SUP_MODULE_PEI_CORE = 'PEI_CORE'\r
384SUP_MODULE_PEIM = 'PEIM'\r
385SUP_MODULE_DXE_CORE = 'DXE_CORE'\r
386SUP_MODULE_DXE_DRIVER = 'DXE_DRIVER'\r
387SUP_MODULE_DXE_RUNTIME_DRIVER = 'DXE_RUNTIME_DRIVER'\r
388SUP_MODULE_DXE_SAL_DRIVER = 'DXE_SAL_DRIVER'\r
389SUP_MODULE_DXE_SMM_DRIVER = 'DXE_SMM_DRIVER'\r
390SUP_MODULE_UEFI_DRIVER = 'UEFI_DRIVER'\r
391SUP_MODULE_UEFI_APPLICATION = 'UEFI_APPLICATION'\r
392SUP_MODULE_USER_DEFINED = 'USER_DEFINED'\r
393SUP_MODULE_SMM_CORE = 'SMM_CORE'\r
394\r
395SUP_MODULE_LIST = \\r
396[SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM, \\r
397SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, \\r
398 SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, \\r
399 SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_UEFI_DRIVER, \\r
400 SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_USER_DEFINED, \\r
401 SUP_MODULE_SMM_CORE]\r
402SUP_MODULE_LIST_STRING = TAB_VALUE_SPLIT.join(l for l in SUP_MODULE_LIST)\r
403\r
404EDK_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\r
405EDK_COMPONENT_TYPE_SECUARITY_CORE = 'SECUARITY_CORE'\r
406EDK_COMPONENT_TYPE_PEI_CORE = 'PEI_CORE'\r
407EDK_COMPONENT_TYPE_COMBINED_PEIM_DRIVER = 'COMBINED_PEIM_DRIVER'\r
408EDK_COMPONENT_TYPE_PIC_PEIM = 'PIC_PEIM'\r
409EDK_COMPONENT_TYPE_RELOCATABLE_PEIM = 'RELOCATABLE_PEIM'\r
410EDK_COMPONENT_TYPE_BS_DRIVER = 'BS_DRIVER'\r
411EDK_COMPONENT_TYPE_RT_DRIVER = 'RT_DRIVER'\r
412EDK_COMPONENT_TYPE_SAL_RT_DRIVER = 'SAL_RT_DRIVER'\r
413EDK_COMPONENT_TYPE_APPLICATION = 'APPLICATION'\r
414EDK_NAME = 'EDK'\r
415EDKII_NAME = 'EDKII'\r
416\r
417BINARY_FILE_TYPE_FW = 'FW'\r
418BINARY_FILE_TYPE_GUID = 'GUID'\r
419BINARY_FILE_TYPE_PREEFORM = 'PREEFORM'\r
420BINARY_FILE_TYPE_UEFI_APP = 'UEFI_APP'\r
421BINARY_FILE_TYPE_UNI_UI = 'UNI_UI'\r
422BINARY_FILE_TYPE_SEC_UI = 'SEC_UI'\r
423BINARY_FILE_TYPE_UNI_VER = 'UNI_VER'\r
424BINARY_FILE_TYPE_SEC_VER = 'SEC_VER'\r
425BINARY_FILE_TYPE_LIB = 'LIB'\r
426BINARY_FILE_TYPE_PE32 = 'PE32'\r
427BINARY_FILE_TYPE_PIC = 'PIC'\r
428BINARY_FILE_TYPE_PEI_DEPEX = 'PEI_DEPEX'\r
429BINARY_FILE_TYPE_DXE_DEPEX = 'DXE_DEPEX'\r
430BINARY_FILE_TYPE_SMM_DEPEX = 'SMM_DEPEX'\r
431BINARY_FILE_TYPE_TE = 'TE'\r
432BINARY_FILE_TYPE_VER = 'VER'\r
433BINARY_FILE_TYPE_UI = 'UI'\r
434BINARY_FILE_TYPE_BIN = 'BIN'\r
435BINARY_FILE_TYPE_FV = 'FV'\r
436BINARY_FILE_TYPE_UI_LIST = [BINARY_FILE_TYPE_UNI_UI,\r
437 BINARY_FILE_TYPE_SEC_UI,\r
438 BINARY_FILE_TYPE_UI\r
f7496d71 439 ]\r
4234283c
LG
440BINARY_FILE_TYPE_VER_LIST = [BINARY_FILE_TYPE_UNI_VER,\r
441 BINARY_FILE_TYPE_SEC_VER,\r
442 BINARY_FILE_TYPE_VER\r
443 ]\r
444\r
445DEPEX_SECTION_LIST = ['<PEI_DEPEX>',\r
446 '<DXE_DEPEX>',\r
447 '<SMM_DEPEX>'\r
448 ]\r
449\r
450PLATFORM_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\r
451PLATFORM_COMPONENT_TYPE_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
452PLATFORM_COMPONENT_TYPE_MODULE = 'MODULE'\r
453\r
454TAB_LIBRARIES = 'Libraries'\r
455\r
456TAB_SOURCE = 'Source'\r
457TAB_SOURCES = 'Sources'\r
458TAB_SOURCES_COMMON = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_COMMON\r
459TAB_SOURCES_IA32 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IA32\r
460TAB_SOURCES_X64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64\r
461TAB_SOURCES_IPF = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF\r
462TAB_SOURCES_ARM = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM\r
463TAB_SOURCES_EBC = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC\r
464\r
465TAB_BINARIES = 'Binaries'\r
466TAB_BINARIES_COMMON = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
467TAB_BINARIES_IA32 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IA32\r
468TAB_BINARIES_X64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64\r
469TAB_BINARIES_IPF = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF\r
470TAB_BINARIES_ARM = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM\r
471TAB_BINARIES_EBC = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC\r
472\r
473TAB_INCLUDES = 'Includes'\r
474TAB_INCLUDES_COMMON = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_COMMON\r
475TAB_INCLUDES_IA32 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IA32\r
476TAB_INCLUDES_X64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64\r
477TAB_INCLUDES_IPF = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF\r
478TAB_INCLUDES_ARM = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM\r
479TAB_INCLUDES_EBC = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC\r
480\r
481TAB_GUIDS = 'Guids'\r
482TAB_GUIDS_COMMON = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON\r
483TAB_GUIDS_IA32 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IA32\r
484TAB_GUIDS_X64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64\r
485TAB_GUIDS_IPF = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF\r
486TAB_GUIDS_ARM = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM\r
487TAB_GUIDS_EBC = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC\r
488\r
489TAB_PROTOCOLS = 'Protocols'\r
490TAB_PROTOCOLS_COMMON = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_COMMON\r
491TAB_PROTOCOLS_IA32 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IA32\r
492TAB_PROTOCOLS_X64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64\r
493TAB_PROTOCOLS_IPF = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF\r
494TAB_PROTOCOLS_ARM = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM\r
495TAB_PROTOCOLS_EBC = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC\r
496\r
497TAB_PPIS = 'Ppis'\r
498TAB_PPIS_COMMON = TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON\r
499TAB_PPIS_IA32 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IA32\r
500TAB_PPIS_X64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64\r
501TAB_PPIS_IPF = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF\r
502TAB_PPIS_ARM = TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM\r
503TAB_PPIS_EBC = TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC\r
504\r
505TAB_LIBRARY_CLASSES = 'LibraryClasses'\r
506TAB_LIBRARY_CLASSES_COMMON = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_COMMON\r
507TAB_LIBRARY_CLASSES_IA32 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IA32\r
508TAB_LIBRARY_CLASSES_X64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_X64\r
509TAB_LIBRARY_CLASSES_IPF = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IPF\r
510TAB_LIBRARY_CLASSES_ARM = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM\r
511TAB_LIBRARY_CLASSES_EBC = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC\r
512\r
513TAB_PACKAGES = 'Packages'\r
514TAB_PACKAGES_COMMON = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_COMMON\r
515TAB_PACKAGES_IA32 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IA32\r
516TAB_PACKAGES_X64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64\r
517TAB_PACKAGES_IPF = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF\r
518TAB_PACKAGES_ARM = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM\r
519TAB_PACKAGES_EBC = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC\r
520\r
521TAB_PCDS = 'Pcds'\r
522TAB_PCDS_FIXED_AT_BUILD = 'FixedAtBuild'\r
523TAB_PCDS_PATCHABLE_IN_MODULE = 'PatchableInModule'\r
524TAB_PCDS_FEATURE_FLAG = 'FeatureFlag'\r
525TAB_PCDS_DYNAMIC_EX = 'DynamicEx'\r
526TAB_PCDS_DYNAMIC_EX_DEFAULT = 'DynamicExDefault'\r
527TAB_PCDS_DYNAMIC_EX_VPD = 'DynamicExVpd'\r
528TAB_PCDS_DYNAMIC_EX_HII = 'DynamicExHii'\r
529TAB_PCDS_DYNAMIC = 'Dynamic'\r
530TAB_PCDS_DYNAMIC_DEFAULT = 'DynamicDefault'\r
531TAB_PCDS_DYNAMIC_VPD = 'DynamicVpd'\r
532TAB_PCDS_DYNAMIC_HII = 'DynamicHii'\r
533\r
534TAB_PTR_TYPE_PCD = 'VOID*'\r
535\r
536PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, \\r
537 TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII]\r
538PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, \\r
539 TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]\r
540\r
541## Dynamic-ex PCD types\r
542#\r
543gDYNAMIC_EX_PCD = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, \\r
544 TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]\r
545\r
546TAB_PCDS_FIXED_AT_BUILD_NULL = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD\r
547TAB_PCDS_FIXED_AT_BUILD_COMMON = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
548TAB_SPLIT + TAB_ARCH_COMMON\r
549TAB_PCDS_FIXED_AT_BUILD_IA32 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
550TAB_SPLIT + TAB_ARCH_IA32\r
551TAB_PCDS_FIXED_AT_BUILD_X64 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
552TAB_SPLIT + TAB_ARCH_X64\r
553TAB_PCDS_FIXED_AT_BUILD_IPF = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
554TAB_SPLIT + TAB_ARCH_IPF\r
555TAB_PCDS_FIXED_AT_BUILD_ARM = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
556TAB_SPLIT + TAB_ARCH_ARM\r
557TAB_PCDS_FIXED_AT_BUILD_EBC = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
558TAB_SPLIT + TAB_ARCH_EBC\r
559\r
560TAB_PCDS_PATCHABLE_IN_MODULE_NULL = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE\r
561TAB_PCDS_PATCHABLE_IN_MODULE_COMMON = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE \\r
562+ TAB_SPLIT + TAB_ARCH_COMMON\r
563TAB_PCDS_PATCHABLE_IN_MODULE_IA32 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
564TAB_SPLIT + TAB_ARCH_IA32\r
565TAB_PCDS_PATCHABLE_IN_MODULE_X64 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
566TAB_SPLIT + TAB_ARCH_X64\r
567TAB_PCDS_PATCHABLE_IN_MODULE_IPF = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
568TAB_SPLIT + TAB_ARCH_IPF\r
569TAB_PCDS_PATCHABLE_IN_MODULE_ARM = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
570TAB_SPLIT + TAB_ARCH_ARM\r
571TAB_PCDS_PATCHABLE_IN_MODULE_EBC = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
572TAB_SPLIT + TAB_ARCH_EBC\r
573\r
574TAB_PCDS_FEATURE_FLAG_NULL = TAB_PCDS + TAB_PCDS_FEATURE_FLAG\r
575TAB_PCDS_FEATURE_FLAG_COMMON = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT \\r
576+ TAB_ARCH_COMMON\r
577TAB_PCDS_FEATURE_FLAG_IA32 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
578TAB_ARCH_IA32\r
579TAB_PCDS_FEATURE_FLAG_X64 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
580TAB_ARCH_X64\r
581TAB_PCDS_FEATURE_FLAG_IPF = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
582TAB_ARCH_IPF\r
583TAB_PCDS_FEATURE_FLAG_ARM = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
584TAB_ARCH_ARM\r
585TAB_PCDS_FEATURE_FLAG_EBC = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
586TAB_ARCH_EBC\r
587\r
588TAB_PCDS_DYNAMIC_EX_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX\r
589TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_DEFAULT\r
590TAB_PCDS_DYNAMIC_EX_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_HII\r
591TAB_PCDS_DYNAMIC_EX_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_VPD\r
592TAB_PCDS_DYNAMIC_EX_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
593TAB_ARCH_COMMON\r
594TAB_PCDS_DYNAMIC_EX_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
595TAB_ARCH_IA32\r
596TAB_PCDS_DYNAMIC_EX_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
597TAB_ARCH_X64\r
598TAB_PCDS_DYNAMIC_EX_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
599TAB_ARCH_IPF\r
600TAB_PCDS_DYNAMIC_EX_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
601TAB_ARCH_ARM\r
602TAB_PCDS_DYNAMIC_EX_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
603TAB_ARCH_EBC\r
604\r
605TAB_PCDS_DYNAMIC_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC\r
606TAB_PCDS_DYNAMIC_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_DEFAULT\r
607TAB_PCDS_DYNAMIC_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_HII\r
608TAB_PCDS_DYNAMIC_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_VPD\r
609TAB_PCDS_DYNAMIC_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + \\r
610TAB_ARCH_COMMON\r
611TAB_PCDS_DYNAMIC_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IA32\r
612TAB_PCDS_DYNAMIC_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_X64\r
613TAB_PCDS_DYNAMIC_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IPF\r
614TAB_PCDS_DYNAMIC_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_ARM\r
615TAB_PCDS_DYNAMIC_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_EBC\r
616\r
617TAB_PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC_DEFAULT_NULL, \\r
618 TAB_PCDS_DYNAMIC_VPD_NULL, \\r
619 TAB_PCDS_DYNAMIC_HII_NULL]\r
620TAB_PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL, \\r
621 TAB_PCDS_DYNAMIC_EX_VPD_NULL, \\r
622 TAB_PCDS_DYNAMIC_EX_HII_NULL]\r
623\r
624TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE = \\r
625'PcdLoadFixAddressPeiCodePageNumber'\r
626TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
627TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE = \\r
628'PcdLoadFixAddressBootTimeCodePageNumber'\r
629TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
630TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE = \\r
631'PcdLoadFixAddressRuntimeCodePageNumber'\r
632TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
633TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE = \\r
634'PcdLoadFixAddressSmmCodePageNumber'\r
635TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
636TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_LIST = \\r
637[TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE, \\r
638TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE, \\r
639TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE, \\r
640TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE]\r
641PCD_SECTION_LIST = [TAB_PCDS_FIXED_AT_BUILD_NULL.upper(), \\r
642 TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper(), \\r
643 TAB_PCDS_FEATURE_FLAG_NULL.upper(), \\r
644 TAB_PCDS_DYNAMIC_EX_NULL.upper(), \\r
645 TAB_PCDS_DYNAMIC_NULL.upper()]\r
646INF_PCD_SECTION_LIST = ["FixedPcd".upper(), "FeaturePcd".upper(), \\r
647 "PatchPcd".upper(), "Pcd".upper(), "PcdEx".upper()]\r
648\r
649TAB_DEPEX = 'Depex'\r
650TAB_DEPEX_COMMON = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_COMMON\r
651TAB_DEPEX_IA32 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IA32\r
652TAB_DEPEX_X64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64\r
653TAB_DEPEX_IPF = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF\r
654TAB_DEPEX_ARM = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM\r
655TAB_DEPEX_EBC = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC\r
656\r
657TAB_SKUIDS = 'SkuIds'\r
658\r
659TAB_LIBRARIES = 'Libraries'\r
660TAB_LIBRARIES_COMMON = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
661TAB_LIBRARIES_IA32 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IA32\r
662TAB_LIBRARIES_X64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64\r
663TAB_LIBRARIES_IPF = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF\r
664TAB_LIBRARIES_ARM = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM\r
665TAB_LIBRARIES_EBC = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC\r
666\r
667TAB_COMPONENTS = 'Components'\r
668TAB_COMPONENTS_COMMON = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_COMMON\r
669TAB_COMPONENTS_IA32 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IA32\r
670TAB_COMPONENTS_X64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_X64\r
671TAB_COMPONENTS_IPF = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IPF\r
672TAB_COMPONENTS_ARM = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM\r
673TAB_COMPONENTS_EBC = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC\r
674\r
675TAB_COMPONENTS_SOURCE_OVERRIDE_PATH = 'SOURCE_OVERRIDE_PATH'\r
676\r
677TAB_BUILD_OPTIONS = 'BuildOptions'\r
678\r
679TAB_DEFINE = 'DEFINE'\r
680TAB_NMAKE = 'Nmake'\r
681TAB_USER_EXTENSIONS = 'UserExtensions'\r
682TAB_INCLUDE = '!include'\r
645a5128
HC
683TAB_PRIVATE = 'Private'\r
684TAB_INTEL = 'Intel'\r
4234283c
LG
685\r
686#\r
687# Common Define\r
688#\r
689TAB_COMMON_DEFINES = 'Defines'\r
690\r
691#\r
692# Inf Definitions\r
693#\r
694TAB_INF_DEFINES = TAB_COMMON_DEFINES\r
695TAB_INF_DEFINES_INF_VERSION = 'INF_VERSION'\r
696TAB_INF_DEFINES_BASE_NAME = 'BASE_NAME'\r
697TAB_INF_DEFINES_FILE_GUID = 'FILE_GUID'\r
698TAB_INF_DEFINES_MODULE_TYPE = 'MODULE_TYPE'\r
699TAB_INF_DEFINES_EFI_SPECIFICATION_VERSION = 'EFI_SPECIFICATION_VERSION'\r
700TAB_INF_DEFINES_UEFI_SPECIFICATION_VERSION = 'UEFI_SPECIFICATION_VERSION'\r
701TAB_INF_DEFINES_PI_SPECIFICATION_VERSION = 'PI_SPECIFICATION_VERSION'\r
702TAB_INF_DEFINES_EDK_RELEASE_VERSION = 'EDK_RELEASE_VERSION'\r
421ccda3 703TAB_INF_DEFINES_MODULE_UNI_FILE = 'MODULE_UNI_FILE'\r
4234283c
LG
704TAB_INF_DEFINES_BINARY_MODULE = 'BINARY_MODULE'\r
705TAB_INF_DEFINES_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
706TAB_INF_DEFINES_COMPONENT_TYPE = 'COMPONENT_TYPE'\r
707TAB_INF_DEFINES_MAKEFILE_NAME = 'MAKEFILE_NAME'\r
708TAB_INF_DEFINES_BUILD_NUMBER = 'BUILD_NUMBER'\r
709TAB_INF_DEFINES_BUILD_TYPE = 'BUILD_TYPE'\r
710TAB_INF_DEFINES_FFS_EXT = 'FFS_EXT'\r
711TAB_INF_DEFINES_FV_EXT = 'FV_EXT'\r
712TAB_INF_DEFINES_SOURCE_FV = 'SOURCE_FV'\r
713TAB_INF_DEFINES_PACKAGE = 'PACKAGE'\r
714TAB_INF_DEFINES_VERSION_NUMBER = 'VERSION_NUMBER'\r
f7496d71 715TAB_INF_DEFINES_VERSION = 'VERSION'\r
4234283c
LG
716TAB_INF_DEFINES_VERSION_STRING = 'VERSION_STRING'\r
717TAB_INF_DEFINES_PCD_IS_DRIVER = 'PCD_IS_DRIVER'\r
718TAB_INF_DEFINES_TIANO_EDK1_FLASHMAP_H = 'TIANO_EDK1_FLASHMAP_H'\r
719TAB_INF_DEFINES_ENTRY_POINT = 'ENTRY_POINT'\r
720TAB_INF_DEFINES_UNLOAD_IMAGE = 'UNLOAD_IMAGE'\r
721TAB_INF_DEFINES_CONSTRUCTOR = 'CONSTRUCTOR'\r
722TAB_INF_DEFINES_DESTRUCTOR = 'DESTRUCTOR'\r
f7496d71
LG
723TAB_INF_DEFINES_PCI_VENDOR_ID = 'PCI_VENDOR_ID'\r
724TAB_INF_DEFINES_PCI_DEVICE_ID = 'PCI_DEVICE_ID'\r
725TAB_INF_DEFINES_PCI_CLASS_CODE = 'PCI_CLASS_CODE'\r
4234283c
LG
726TAB_INF_DEFINES_PCI_REVISION = 'PCI_REVISION'\r
727TAB_INF_DEFINES_PCI_COMPRESS = 'PCI_COMPRESS'\r
728TAB_INF_DEFINES_DEFINE = 'DEFINE'\r
729TAB_INF_DEFINES_SPEC = 'SPEC'\r
730TAB_INF_DEFINES_UEFI_HII_RESOURCE_SECTION = 'UEFI_HII_RESOURCE_SECTION'\r
731TAB_INF_DEFINES_CUSTOM_MAKEFILE = 'CUSTOM_MAKEFILE'\r
732TAB_INF_DEFINES_MACRO = '__MACROS__'\r
733TAB_INF_DEFINES_SHADOW = 'SHADOW'\r
734TAB_INF_DEFINES_DPX_SOURCE = 'DPX_SOURCE'\r
735TAB_INF_FIXED_PCD = 'FixedPcd'\r
736TAB_INF_FEATURE_PCD = 'FeaturePcd'\r
737TAB_INF_PATCH_PCD = 'PatchPcd'\r
738TAB_INF_PCD = 'Pcd'\r
739TAB_INF_PCD_EX = 'PcdEx'\r
740TAB_INF_GUIDTYPE_VAR = 'Variable'\r
2bc3256c
LG
741TAB_INF_ABSTRACT = 'STR_MODULE_ABSTRACT'\r
742TAB_INF_DESCRIPTION = 'STR_MODULE_DESCRIPTION'\r
743TAB_INF_LICENSE = 'STR_MODULE_LICENSE'\r
744TAB_INF_BINARY_ABSTRACT = 'STR_MODULE_BINARY_ABSTRACT'\r
745TAB_INF_BINARY_DESCRIPTION = 'STR_MODULE_BINARY_DESCRIPTION'\r
746TAB_INF_BINARY_LICENSE = 'STR_MODULE_BINARY_LICENSE'\r
4234283c
LG
747#\r
748# Dec Definitions\r
749#\r
750TAB_DEC_DEFINES = TAB_COMMON_DEFINES\r
751TAB_DEC_DEFINES_DEC_SPECIFICATION = 'DEC_SPECIFICATION'\r
752TAB_DEC_DEFINES_PACKAGE_NAME = 'PACKAGE_NAME'\r
753TAB_DEC_DEFINES_PACKAGE_GUID = 'PACKAGE_GUID'\r
754TAB_DEC_DEFINES_PACKAGE_VERSION = 'PACKAGE_VERSION'\r
421ccda3 755TAB_DEC_DEFINES_PKG_UNI_FILE = 'PACKAGE_UNI_FILE'\r
2bc3256c
LG
756TAB_DEC_PACKAGE_ABSTRACT = 'STR_PACKAGE_ABSTRACT'\r
757TAB_DEC_PACKAGE_DESCRIPTION = 'STR_PACKAGE_DESCRIPTION'\r
758TAB_DEC_PACKAGE_LICENSE = 'STR_PACKAGE_LICENSE'\r
759TAB_DEC_BINARY_ABSTRACT = 'STR_PACKAGE_BINARY_ABSTRACT'\r
760TAB_DEC_BINARY_DESCRIPTION = 'STR_PACKAGE_BINARY_DESCRIPTION'\r
761TAB_DEC_BINARY_LICENSE = 'STR_PACKAGE_ASBUILT_LICENSE'\r
4234283c
LG
762#\r
763# Dsc Definitions\r
764#\r
765TAB_DSC_DEFINES = TAB_COMMON_DEFINES\r
766TAB_DSC_DEFINES_PLATFORM_NAME = 'PLATFORM_NAME'\r
767TAB_DSC_DEFINES_PLATFORM_GUID = 'PLATFORM_GUID'\r
768TAB_DSC_DEFINES_PLATFORM_VERSION = 'PLATFORM_VERSION'\r
769TAB_DSC_DEFINES_DSC_SPECIFICATION = 'DSC_SPECIFICATION'\r
770TAB_DSC_DEFINES_OUTPUT_DIRECTORY = 'OUTPUT_DIRECTORY'\r
771TAB_DSC_DEFINES_SUPPORTED_ARCHITECTURES = 'SUPPORTED_ARCHITECTURES'\r
772TAB_DSC_DEFINES_BUILD_TARGETS = 'BUILD_TARGETS'\r
773TAB_DSC_DEFINES_SKUID_IDENTIFIER = 'SKUID_IDENTIFIER'\r
774TAB_DSC_DEFINES_FLASH_DEFINITION = 'FLASH_DEFINITION'\r
775TAB_DSC_DEFINES_BUILD_NUMBER = 'BUILD_NUMBER'\r
776TAB_DSC_DEFINES_MAKEFILE_NAME = 'MAKEFILE_NAME'\r
777TAB_DSC_DEFINES_BS_BASE_ADDRESS = 'BsBaseAddress'\r
778TAB_DSC_DEFINES_RT_BASE_ADDRESS = 'RtBaseAddress'\r
779TAB_DSC_DEFINES_DEFINE = 'DEFINE'\r
780TAB_FIX_LOAD_TOP_MEMORY_ADDRESS = 'FIX_LOAD_TOP_MEMORY_ADDRESS'\r
781\r
782#\r
783# TargetTxt Definitions\r
784#\r
785TAB_TAT_DEFINES_ACTIVE_PLATFORM = 'ACTIVE_PLATFORM'\r
786TAB_TAT_DEFINES_ACTIVE_MODULE = 'ACTIVE_MODULE'\r
787TAB_TAT_DEFINES_TOOL_CHAIN_CONF = 'TOOL_CHAIN_CONF'\r
788TAB_TAT_DEFINES_MULTIPLE_THREAD = 'MULTIPLE_THREAD'\r
789TAB_TAT_DEFINES_MAX_CONCURRENT_THREAD_NUMBER = 'MAX_CONCURRENT_THREAD_NUMBER'\r
790TAB_TAT_DEFINES_TARGET = 'TARGET'\r
791TAB_TAT_DEFINES_TOOL_CHAIN_TAG = 'TOOL_CHAIN_TAG'\r
792TAB_TAT_DEFINES_TARGET_ARCH = 'TARGET_ARCH'\r
793TAB_TAT_DEFINES_BUILD_RULE_CONF = "BUILD_RULE_CONF"\r
794\r
795#\r
796# ToolDef Definitions\r
797#\r
798TAB_TOD_DEFINES_TARGET = 'TARGET'\r
799TAB_TOD_DEFINES_TOOL_CHAIN_TAG = 'TOOL_CHAIN_TAG'\r
800TAB_TOD_DEFINES_TARGET_ARCH = 'TARGET_ARCH'\r
801TAB_TOD_DEFINES_COMMAND_TYPE = 'COMMAND_TYPE'\r
802TAB_TOD_DEFINES_FAMILY = 'FAMILY'\r
803TAB_TOD_DEFINES_BUILDRULEFAMILY = 'BUILDRULEFAMILY'\r
804\r
805#\r
806# Conditional Statements\r
807#\r
808TAB_IF = '!if'\r
809TAB_END_IF = '!endif'\r
810TAB_ELSE_IF = '!elseif'\r
811TAB_ELSE = '!else'\r
812TAB_IF_DEF = '!ifdef'\r
813TAB_IF_N_DEF = '!ifndef'\r
814TAB_IF_EXIST = '!if exist'\r
815\r
816#\r
817# Unknown section\r
818#\r
819TAB_UNKNOWN = 'UNKNOWN'\r
820\r
821#\r
f7496d71 822# Header section (virtual section for abstract, description, copyright,\r
4234283c
LG
823# license)\r
824#\r
825TAB_HEADER = 'Header'\r
826TAB_HEADER_ABSTRACT = 'Abstract'\r
f7496d71 827TAB_HEADER_DESCRIPTION = 'Description'\r
4234283c
LG
828TAB_HEADER_COPYRIGHT = 'Copyright'\r
829TAB_HEADER_LICENSE = 'License'\r
2bc3256c
LG
830TAB_BINARY_HEADER_IDENTIFIER = 'BinaryHeader'\r
831TAB_BINARY_HEADER_USERID = 'TianoCore'\r
421ccda3 832\r
4234283c
LG
833#\r
834# Build database path\r
835#\r
f7496d71 836DATABASE_PATH = ":memory:"\r
4234283c
LG
837#\r
838# used by ECC\r
839#\r
840MODIFIER_LIST = ['IN', 'OUT', 'OPTIONAL', 'UNALIGNED', 'EFI_RUNTIMESERVICE', \\r
841 'EFI_BOOTSERVICE', 'EFIAPI']\r
842#\r
843# Dependency Expression\r
844#\r
845DEPEX_SUPPORTED_OPCODE = ["BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", \\r
846 "END", "SOR", "TRUE", "FALSE", '(', ')']\r
847\r
848TAB_STATIC_LIBRARY = "STATIC-LIBRARY-FILE"\r
849TAB_DYNAMIC_LIBRARY = "DYNAMIC-LIBRARY-FILE"\r
850TAB_FRAMEWORK_IMAGE = "EFI-IMAGE-FILE"\r
851TAB_C_CODE_FILE = "C-CODE-FILE"\r
852TAB_C_HEADER_FILE = "C-HEADER-FILE"\r
853TAB_UNICODE_FILE = "UNICODE-TEXT-FILE"\r
854TAB_DEPENDENCY_EXPRESSION_FILE = "DEPENDENCY-EXPRESSION-FILE"\r
855TAB_UNKNOWN_FILE = "UNKNOWN-TYPE-FILE"\r
856TAB_DEFAULT_BINARY_FILE = "_BINARY_FILE_"\r
857#\r
f7496d71 858# used to indicate the state of processing header comment section of dec,\r
4234283c
LG
859# inf files\r
860#\r
861HEADER_COMMENT_NOT_STARTED = -1\r
862HEADER_COMMENT_STARTED = 0\r
863HEADER_COMMENT_FILE = 1\r
864HEADER_COMMENT_ABSTRACT = 2\r
865HEADER_COMMENT_DESCRIPTION = 3\r
866HEADER_COMMENT_COPYRIGHT = 4\r
867HEADER_COMMENT_LICENSE = 5\r
868HEADER_COMMENT_END = 6\r
869\r
870#\r
871# Static values for data models\r
872#\r
873MODEL_UNKNOWN = 0\r
874\r
875MODEL_FILE_C = 1001\r
876MODEL_FILE_H = 1002\r
877MODEL_FILE_ASM = 1003\r
878MODEL_FILE_INF = 1011\r
879MODEL_FILE_DEC = 1012\r
880MODEL_FILE_DSC = 1013\r
881MODEL_FILE_FDF = 1014\r
882MODEL_FILE_INC = 1015\r
883MODEL_FILE_CIF = 1016\r
884\r
885MODEL_IDENTIFIER_FILE_HEADER = 2001\r
886MODEL_IDENTIFIER_FUNCTION_HEADER = 2002\r
887MODEL_IDENTIFIER_COMMENT = 2003\r
888MODEL_IDENTIFIER_PARAMETER = 2004\r
889MODEL_IDENTIFIER_STRUCTURE = 2005\r
890MODEL_IDENTIFIER_VARIABLE = 2006\r
891MODEL_IDENTIFIER_INCLUDE = 2007\r
892MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2008\r
893MODEL_IDENTIFIER_ENUMERATE = 2009\r
894MODEL_IDENTIFIER_PCD = 2010\r
895MODEL_IDENTIFIER_UNION = 2011\r
896MODEL_IDENTIFIER_MACRO_IFDEF = 2012\r
897MODEL_IDENTIFIER_MACRO_IFNDEF = 2013\r
898MODEL_IDENTIFIER_MACRO_DEFINE = 2014\r
899MODEL_IDENTIFIER_MACRO_ENDIF = 2015\r
900MODEL_IDENTIFIER_MACRO_PROGMA = 2016\r
901MODEL_IDENTIFIER_FUNCTION_CALLING = 2018\r
902MODEL_IDENTIFIER_TYPEDEF = 2017\r
903MODEL_IDENTIFIER_FUNCTION_DECLARATION = 2019\r
904MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION = 2020\r
905\r
906MODEL_EFI_PROTOCOL = 3001\r
907MODEL_EFI_PPI = 3002\r
908MODEL_EFI_GUID = 3003\r
909MODEL_EFI_LIBRARY_CLASS = 3004\r
910MODEL_EFI_LIBRARY_INSTANCE = 3005\r
911MODEL_EFI_PCD = 3006\r
912MODEL_EFI_SOURCE_FILE = 3007\r
913MODEL_EFI_BINARY_FILE = 3008\r
914MODEL_EFI_SKU_ID = 3009\r
915MODEL_EFI_INCLUDE = 3010\r
916MODEL_EFI_DEPEX = 3011\r
917\r
918MODEL_PCD = 4000\r
919MODEL_PCD_FIXED_AT_BUILD = 4001\r
920MODEL_PCD_PATCHABLE_IN_MODULE = 4002\r
921MODEL_PCD_FEATURE_FLAG = 4003\r
922MODEL_PCD_DYNAMIC_EX = 4004\r
923MODEL_PCD_DYNAMIC_EX_DEFAULT = 4005\r
924MODEL_PCD_DYNAMIC_EX_VPD = 4006\r
925MODEL_PCD_DYNAMIC_EX_HII = 4007\r
926MODEL_PCD_DYNAMIC = 4008\r
927MODEL_PCD_DYNAMIC_DEFAULT = 4009\r
928MODEL_PCD_DYNAMIC_VPD = 4010\r
929MODEL_PCD_DYNAMIC_HII = 4011\r
930\r
931MODEL_META_DATA_FILE_HEADER = 5000\r
932MODEL_META_DATA_HEADER = 5001\r
933MODEL_META_DATA_INCLUDE = 5002\r
934MODEL_META_DATA_DEFINE = 5003\r
935MODEL_META_DATA_CONDITIONAL_STATEMENT_IF = 5004\r
936MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005\r
937MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006\r
938MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007\r
939MODEL_META_DATA_BUILD_OPTION = 5008\r
940MODEL_META_DATA_COMPONENT = 5009\r
941MODEL_META_DATA_USER_EXTENSION = 5010\r
942MODEL_META_DATA_PACKAGE = 5011\r
943MODEL_META_DATA_NMAKE = 5012\r
944MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF = 50013\r
945MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014\r
946MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH = 5015\r
947\r
948TOOL_FAMILY_LIST = ["MSFT",\r
949 "INTEL",\r
950 "GCC",\r
951 "RVCT"\r
952 ]\r
953\r
954TYPE_HOB_SECTION = 'HOB'\r
955TYPE_EVENT_SECTION = 'EVENT'\r
f7496d71 956TYPE_BOOTMODE_SECTION = 'BOOTMODE'\r
421ccda3
HC
957\r
958PCD_ERR_CODE_MAX_SIZE = 4294967295\r