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