]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/UPT/Library/DataType.py
Sync BaseTools Trunk (version r2387) to EDKII main trunk.
[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
4# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
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
343TAB_STAR = "*"\r
344\r
345TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
346TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
347TAB_WORKSPACE = '$(WORKSPACE)'\r
348\r
349TAB_ARCH_NULL = ''\r
350TAB_ARCH_COMMON = 'COMMON'\r
351TAB_ARCH_IA32 = 'IA32'\r
352TAB_ARCH_X64 = 'X64'\r
353TAB_ARCH_IPF = 'IPF'\r
354TAB_ARCH_ARM = 'ARM'\r
355TAB_ARCH_EBC = 'EBC'\r
356\r
357ARCH_LIST = \\r
358[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC]\r
359\r
360SUP_MODULE_BASE = 'BASE'\r
361SUP_MODULE_SEC = 'SEC'\r
362SUP_MODULE_PEI_CORE = 'PEI_CORE'\r
363SUP_MODULE_PEIM = 'PEIM'\r
364SUP_MODULE_DXE_CORE = 'DXE_CORE'\r
365SUP_MODULE_DXE_DRIVER = 'DXE_DRIVER'\r
366SUP_MODULE_DXE_RUNTIME_DRIVER = 'DXE_RUNTIME_DRIVER'\r
367SUP_MODULE_DXE_SAL_DRIVER = 'DXE_SAL_DRIVER'\r
368SUP_MODULE_DXE_SMM_DRIVER = 'DXE_SMM_DRIVER'\r
369SUP_MODULE_UEFI_DRIVER = 'UEFI_DRIVER'\r
370SUP_MODULE_UEFI_APPLICATION = 'UEFI_APPLICATION'\r
371SUP_MODULE_USER_DEFINED = 'USER_DEFINED'\r
372SUP_MODULE_SMM_CORE = 'SMM_CORE'\r
373\r
374SUP_MODULE_LIST = \\r
375[SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM, \\r
376SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, \\r
377 SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, \\r
378 SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_UEFI_DRIVER, \\r
379 SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_USER_DEFINED, \\r
380 SUP_MODULE_SMM_CORE]\r
381SUP_MODULE_LIST_STRING = TAB_VALUE_SPLIT.join(l for l in SUP_MODULE_LIST)\r
382\r
383EDK_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\r
384EDK_COMPONENT_TYPE_SECUARITY_CORE = 'SECUARITY_CORE'\r
385EDK_COMPONENT_TYPE_PEI_CORE = 'PEI_CORE'\r
386EDK_COMPONENT_TYPE_COMBINED_PEIM_DRIVER = 'COMBINED_PEIM_DRIVER'\r
387EDK_COMPONENT_TYPE_PIC_PEIM = 'PIC_PEIM'\r
388EDK_COMPONENT_TYPE_RELOCATABLE_PEIM = 'RELOCATABLE_PEIM'\r
389EDK_COMPONENT_TYPE_BS_DRIVER = 'BS_DRIVER'\r
390EDK_COMPONENT_TYPE_RT_DRIVER = 'RT_DRIVER'\r
391EDK_COMPONENT_TYPE_SAL_RT_DRIVER = 'SAL_RT_DRIVER'\r
392EDK_COMPONENT_TYPE_APPLICATION = 'APPLICATION'\r
393EDK_NAME = 'EDK'\r
394EDKII_NAME = 'EDKII'\r
395\r
396BINARY_FILE_TYPE_FW = 'FW'\r
397BINARY_FILE_TYPE_GUID = 'GUID'\r
398BINARY_FILE_TYPE_PREEFORM = 'PREEFORM'\r
399BINARY_FILE_TYPE_UEFI_APP = 'UEFI_APP'\r
400BINARY_FILE_TYPE_UNI_UI = 'UNI_UI'\r
401BINARY_FILE_TYPE_SEC_UI = 'SEC_UI'\r
402BINARY_FILE_TYPE_UNI_VER = 'UNI_VER'\r
403BINARY_FILE_TYPE_SEC_VER = 'SEC_VER'\r
404BINARY_FILE_TYPE_LIB = 'LIB'\r
405BINARY_FILE_TYPE_PE32 = 'PE32'\r
406BINARY_FILE_TYPE_PIC = 'PIC'\r
407BINARY_FILE_TYPE_PEI_DEPEX = 'PEI_DEPEX'\r
408BINARY_FILE_TYPE_DXE_DEPEX = 'DXE_DEPEX'\r
409BINARY_FILE_TYPE_SMM_DEPEX = 'SMM_DEPEX'\r
410BINARY_FILE_TYPE_TE = 'TE'\r
411BINARY_FILE_TYPE_VER = 'VER'\r
412BINARY_FILE_TYPE_UI = 'UI'\r
413BINARY_FILE_TYPE_BIN = 'BIN'\r
414BINARY_FILE_TYPE_FV = 'FV'\r
415BINARY_FILE_TYPE_UI_LIST = [BINARY_FILE_TYPE_UNI_UI,\r
416 BINARY_FILE_TYPE_SEC_UI,\r
417 BINARY_FILE_TYPE_UI\r
418 ] \r
419BINARY_FILE_TYPE_VER_LIST = [BINARY_FILE_TYPE_UNI_VER,\r
420 BINARY_FILE_TYPE_SEC_VER,\r
421 BINARY_FILE_TYPE_VER\r
422 ]\r
423\r
424DEPEX_SECTION_LIST = ['<PEI_DEPEX>',\r
425 '<DXE_DEPEX>',\r
426 '<SMM_DEPEX>'\r
427 ]\r
428\r
429PLATFORM_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\r
430PLATFORM_COMPONENT_TYPE_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
431PLATFORM_COMPONENT_TYPE_MODULE = 'MODULE'\r
432\r
433TAB_LIBRARIES = 'Libraries'\r
434\r
435TAB_SOURCE = 'Source'\r
436TAB_SOURCES = 'Sources'\r
437TAB_SOURCES_COMMON = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_COMMON\r
438TAB_SOURCES_IA32 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IA32\r
439TAB_SOURCES_X64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64\r
440TAB_SOURCES_IPF = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF\r
441TAB_SOURCES_ARM = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM\r
442TAB_SOURCES_EBC = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC\r
443\r
444TAB_BINARIES = 'Binaries'\r
445TAB_BINARIES_COMMON = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
446TAB_BINARIES_IA32 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IA32\r
447TAB_BINARIES_X64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64\r
448TAB_BINARIES_IPF = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF\r
449TAB_BINARIES_ARM = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM\r
450TAB_BINARIES_EBC = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC\r
451\r
452TAB_INCLUDES = 'Includes'\r
453TAB_INCLUDES_COMMON = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_COMMON\r
454TAB_INCLUDES_IA32 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IA32\r
455TAB_INCLUDES_X64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64\r
456TAB_INCLUDES_IPF = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF\r
457TAB_INCLUDES_ARM = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM\r
458TAB_INCLUDES_EBC = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC\r
459\r
460TAB_GUIDS = 'Guids'\r
461TAB_GUIDS_COMMON = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON\r
462TAB_GUIDS_IA32 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IA32\r
463TAB_GUIDS_X64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64\r
464TAB_GUIDS_IPF = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF\r
465TAB_GUIDS_ARM = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM\r
466TAB_GUIDS_EBC = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC\r
467\r
468TAB_PROTOCOLS = 'Protocols'\r
469TAB_PROTOCOLS_COMMON = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_COMMON\r
470TAB_PROTOCOLS_IA32 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IA32\r
471TAB_PROTOCOLS_X64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64\r
472TAB_PROTOCOLS_IPF = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF\r
473TAB_PROTOCOLS_ARM = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM\r
474TAB_PROTOCOLS_EBC = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC\r
475\r
476TAB_PPIS = 'Ppis'\r
477TAB_PPIS_COMMON = TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON\r
478TAB_PPIS_IA32 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IA32\r
479TAB_PPIS_X64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64\r
480TAB_PPIS_IPF = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF\r
481TAB_PPIS_ARM = TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM\r
482TAB_PPIS_EBC = TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC\r
483\r
484TAB_LIBRARY_CLASSES = 'LibraryClasses'\r
485TAB_LIBRARY_CLASSES_COMMON = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_COMMON\r
486TAB_LIBRARY_CLASSES_IA32 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IA32\r
487TAB_LIBRARY_CLASSES_X64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_X64\r
488TAB_LIBRARY_CLASSES_IPF = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IPF\r
489TAB_LIBRARY_CLASSES_ARM = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM\r
490TAB_LIBRARY_CLASSES_EBC = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC\r
491\r
492TAB_PACKAGES = 'Packages'\r
493TAB_PACKAGES_COMMON = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_COMMON\r
494TAB_PACKAGES_IA32 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IA32\r
495TAB_PACKAGES_X64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64\r
496TAB_PACKAGES_IPF = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF\r
497TAB_PACKAGES_ARM = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM\r
498TAB_PACKAGES_EBC = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC\r
499\r
500TAB_PCDS = 'Pcds'\r
501TAB_PCDS_FIXED_AT_BUILD = 'FixedAtBuild'\r
502TAB_PCDS_PATCHABLE_IN_MODULE = 'PatchableInModule'\r
503TAB_PCDS_FEATURE_FLAG = 'FeatureFlag'\r
504TAB_PCDS_DYNAMIC_EX = 'DynamicEx'\r
505TAB_PCDS_DYNAMIC_EX_DEFAULT = 'DynamicExDefault'\r
506TAB_PCDS_DYNAMIC_EX_VPD = 'DynamicExVpd'\r
507TAB_PCDS_DYNAMIC_EX_HII = 'DynamicExHii'\r
508TAB_PCDS_DYNAMIC = 'Dynamic'\r
509TAB_PCDS_DYNAMIC_DEFAULT = 'DynamicDefault'\r
510TAB_PCDS_DYNAMIC_VPD = 'DynamicVpd'\r
511TAB_PCDS_DYNAMIC_HII = 'DynamicHii'\r
512\r
513TAB_PTR_TYPE_PCD = 'VOID*'\r
514\r
515PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, \\r
516 TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII]\r
517PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, \\r
518 TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]\r
519\r
520## Dynamic-ex PCD types\r
521#\r
522gDYNAMIC_EX_PCD = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, \\r
523 TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]\r
524\r
525TAB_PCDS_FIXED_AT_BUILD_NULL = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD\r
526TAB_PCDS_FIXED_AT_BUILD_COMMON = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
527TAB_SPLIT + TAB_ARCH_COMMON\r
528TAB_PCDS_FIXED_AT_BUILD_IA32 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
529TAB_SPLIT + TAB_ARCH_IA32\r
530TAB_PCDS_FIXED_AT_BUILD_X64 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
531TAB_SPLIT + TAB_ARCH_X64\r
532TAB_PCDS_FIXED_AT_BUILD_IPF = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
533TAB_SPLIT + TAB_ARCH_IPF\r
534TAB_PCDS_FIXED_AT_BUILD_ARM = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
535TAB_SPLIT + TAB_ARCH_ARM\r
536TAB_PCDS_FIXED_AT_BUILD_EBC = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
537TAB_SPLIT + TAB_ARCH_EBC\r
538\r
539TAB_PCDS_PATCHABLE_IN_MODULE_NULL = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE\r
540TAB_PCDS_PATCHABLE_IN_MODULE_COMMON = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE \\r
541+ TAB_SPLIT + TAB_ARCH_COMMON\r
542TAB_PCDS_PATCHABLE_IN_MODULE_IA32 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
543TAB_SPLIT + TAB_ARCH_IA32\r
544TAB_PCDS_PATCHABLE_IN_MODULE_X64 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
545TAB_SPLIT + TAB_ARCH_X64\r
546TAB_PCDS_PATCHABLE_IN_MODULE_IPF = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
547TAB_SPLIT + TAB_ARCH_IPF\r
548TAB_PCDS_PATCHABLE_IN_MODULE_ARM = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
549TAB_SPLIT + TAB_ARCH_ARM\r
550TAB_PCDS_PATCHABLE_IN_MODULE_EBC = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
551TAB_SPLIT + TAB_ARCH_EBC\r
552\r
553TAB_PCDS_FEATURE_FLAG_NULL = TAB_PCDS + TAB_PCDS_FEATURE_FLAG\r
554TAB_PCDS_FEATURE_FLAG_COMMON = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT \\r
555+ TAB_ARCH_COMMON\r
556TAB_PCDS_FEATURE_FLAG_IA32 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
557TAB_ARCH_IA32\r
558TAB_PCDS_FEATURE_FLAG_X64 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
559TAB_ARCH_X64\r
560TAB_PCDS_FEATURE_FLAG_IPF = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
561TAB_ARCH_IPF\r
562TAB_PCDS_FEATURE_FLAG_ARM = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
563TAB_ARCH_ARM\r
564TAB_PCDS_FEATURE_FLAG_EBC = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
565TAB_ARCH_EBC\r
566\r
567TAB_PCDS_DYNAMIC_EX_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX\r
568TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_DEFAULT\r
569TAB_PCDS_DYNAMIC_EX_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_HII\r
570TAB_PCDS_DYNAMIC_EX_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_VPD\r
571TAB_PCDS_DYNAMIC_EX_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
572TAB_ARCH_COMMON\r
573TAB_PCDS_DYNAMIC_EX_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
574TAB_ARCH_IA32\r
575TAB_PCDS_DYNAMIC_EX_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
576TAB_ARCH_X64\r
577TAB_PCDS_DYNAMIC_EX_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
578TAB_ARCH_IPF\r
579TAB_PCDS_DYNAMIC_EX_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
580TAB_ARCH_ARM\r
581TAB_PCDS_DYNAMIC_EX_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
582TAB_ARCH_EBC\r
583\r
584TAB_PCDS_DYNAMIC_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC\r
585TAB_PCDS_DYNAMIC_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_DEFAULT\r
586TAB_PCDS_DYNAMIC_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_HII\r
587TAB_PCDS_DYNAMIC_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_VPD\r
588TAB_PCDS_DYNAMIC_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + \\r
589TAB_ARCH_COMMON\r
590TAB_PCDS_DYNAMIC_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IA32\r
591TAB_PCDS_DYNAMIC_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_X64\r
592TAB_PCDS_DYNAMIC_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IPF\r
593TAB_PCDS_DYNAMIC_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_ARM\r
594TAB_PCDS_DYNAMIC_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_EBC\r
595\r
596TAB_PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC_DEFAULT_NULL, \\r
597 TAB_PCDS_DYNAMIC_VPD_NULL, \\r
598 TAB_PCDS_DYNAMIC_HII_NULL]\r
599TAB_PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL, \\r
600 TAB_PCDS_DYNAMIC_EX_VPD_NULL, \\r
601 TAB_PCDS_DYNAMIC_EX_HII_NULL]\r
602\r
603TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE = \\r
604'PcdLoadFixAddressPeiCodePageNumber'\r
605TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
606TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE = \\r
607'PcdLoadFixAddressBootTimeCodePageNumber'\r
608TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
609TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE = \\r
610'PcdLoadFixAddressRuntimeCodePageNumber'\r
611TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
612TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE = \\r
613'PcdLoadFixAddressSmmCodePageNumber'\r
614TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE = 'UINT32'\r
615TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_LIST = \\r
616[TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE, \\r
617TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE, \\r
618TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE, \\r
619TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE]\r
620PCD_SECTION_LIST = [TAB_PCDS_FIXED_AT_BUILD_NULL.upper(), \\r
621 TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper(), \\r
622 TAB_PCDS_FEATURE_FLAG_NULL.upper(), \\r
623 TAB_PCDS_DYNAMIC_EX_NULL.upper(), \\r
624 TAB_PCDS_DYNAMIC_NULL.upper()]\r
625INF_PCD_SECTION_LIST = ["FixedPcd".upper(), "FeaturePcd".upper(), \\r
626 "PatchPcd".upper(), "Pcd".upper(), "PcdEx".upper()]\r
627\r
628TAB_DEPEX = 'Depex'\r
629TAB_DEPEX_COMMON = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_COMMON\r
630TAB_DEPEX_IA32 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IA32\r
631TAB_DEPEX_X64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64\r
632TAB_DEPEX_IPF = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF\r
633TAB_DEPEX_ARM = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM\r
634TAB_DEPEX_EBC = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC\r
635\r
636TAB_SKUIDS = 'SkuIds'\r
637\r
638TAB_LIBRARIES = 'Libraries'\r
639TAB_LIBRARIES_COMMON = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
640TAB_LIBRARIES_IA32 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IA32\r
641TAB_LIBRARIES_X64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64\r
642TAB_LIBRARIES_IPF = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF\r
643TAB_LIBRARIES_ARM = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM\r
644TAB_LIBRARIES_EBC = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC\r
645\r
646TAB_COMPONENTS = 'Components'\r
647TAB_COMPONENTS_COMMON = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_COMMON\r
648TAB_COMPONENTS_IA32 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IA32\r
649TAB_COMPONENTS_X64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_X64\r
650TAB_COMPONENTS_IPF = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IPF\r
651TAB_COMPONENTS_ARM = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM\r
652TAB_COMPONENTS_EBC = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC\r
653\r
654TAB_COMPONENTS_SOURCE_OVERRIDE_PATH = 'SOURCE_OVERRIDE_PATH'\r
655\r
656TAB_BUILD_OPTIONS = 'BuildOptions'\r
657\r
658TAB_DEFINE = 'DEFINE'\r
659TAB_NMAKE = 'Nmake'\r
660TAB_USER_EXTENSIONS = 'UserExtensions'\r
661TAB_INCLUDE = '!include'\r
662\r
663#\r
664# Common Define\r
665#\r
666TAB_COMMON_DEFINES = 'Defines'\r
667\r
668#\r
669# Inf Definitions\r
670#\r
671TAB_INF_DEFINES = TAB_COMMON_DEFINES\r
672TAB_INF_DEFINES_INF_VERSION = 'INF_VERSION'\r
673TAB_INF_DEFINES_BASE_NAME = 'BASE_NAME'\r
674TAB_INF_DEFINES_FILE_GUID = 'FILE_GUID'\r
675TAB_INF_DEFINES_MODULE_TYPE = 'MODULE_TYPE'\r
676TAB_INF_DEFINES_EFI_SPECIFICATION_VERSION = 'EFI_SPECIFICATION_VERSION'\r
677TAB_INF_DEFINES_UEFI_SPECIFICATION_VERSION = 'UEFI_SPECIFICATION_VERSION'\r
678TAB_INF_DEFINES_PI_SPECIFICATION_VERSION = 'PI_SPECIFICATION_VERSION'\r
679TAB_INF_DEFINES_EDK_RELEASE_VERSION = 'EDK_RELEASE_VERSION'\r
680TAB_INF_DEFINES_BINARY_MODULE = 'BINARY_MODULE'\r
681TAB_INF_DEFINES_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
682TAB_INF_DEFINES_COMPONENT_TYPE = 'COMPONENT_TYPE'\r
683TAB_INF_DEFINES_MAKEFILE_NAME = 'MAKEFILE_NAME'\r
684TAB_INF_DEFINES_BUILD_NUMBER = 'BUILD_NUMBER'\r
685TAB_INF_DEFINES_BUILD_TYPE = 'BUILD_TYPE'\r
686TAB_INF_DEFINES_FFS_EXT = 'FFS_EXT'\r
687TAB_INF_DEFINES_FV_EXT = 'FV_EXT'\r
688TAB_INF_DEFINES_SOURCE_FV = 'SOURCE_FV'\r
689TAB_INF_DEFINES_PACKAGE = 'PACKAGE'\r
690TAB_INF_DEFINES_VERSION_NUMBER = 'VERSION_NUMBER'\r
691TAB_INF_DEFINES_VERSION = 'VERSION' \r
692TAB_INF_DEFINES_VERSION_STRING = 'VERSION_STRING'\r
693TAB_INF_DEFINES_PCD_IS_DRIVER = 'PCD_IS_DRIVER'\r
694TAB_INF_DEFINES_TIANO_EDK1_FLASHMAP_H = 'TIANO_EDK1_FLASHMAP_H'\r
695TAB_INF_DEFINES_ENTRY_POINT = 'ENTRY_POINT'\r
696TAB_INF_DEFINES_UNLOAD_IMAGE = 'UNLOAD_IMAGE'\r
697TAB_INF_DEFINES_CONSTRUCTOR = 'CONSTRUCTOR'\r
698TAB_INF_DEFINES_DESTRUCTOR = 'DESTRUCTOR'\r
699TAB_INF_DEFINES_PCI_VENDOR_ID = 'PCI_VENDOR_ID' \r
700TAB_INF_DEFINES_PCI_DEVICE_ID = 'PCI_DEVICE_ID' \r
701TAB_INF_DEFINES_PCI_CLASS_CODE = 'PCI_CLASS_CODE' \r
702TAB_INF_DEFINES_PCI_REVISION = 'PCI_REVISION'\r
703TAB_INF_DEFINES_PCI_COMPRESS = 'PCI_COMPRESS'\r
704TAB_INF_DEFINES_DEFINE = 'DEFINE'\r
705TAB_INF_DEFINES_SPEC = 'SPEC'\r
706TAB_INF_DEFINES_UEFI_HII_RESOURCE_SECTION = 'UEFI_HII_RESOURCE_SECTION'\r
707TAB_INF_DEFINES_CUSTOM_MAKEFILE = 'CUSTOM_MAKEFILE'\r
708TAB_INF_DEFINES_MACRO = '__MACROS__'\r
709TAB_INF_DEFINES_SHADOW = 'SHADOW'\r
710TAB_INF_DEFINES_DPX_SOURCE = 'DPX_SOURCE'\r
711TAB_INF_FIXED_PCD = 'FixedPcd'\r
712TAB_INF_FEATURE_PCD = 'FeaturePcd'\r
713TAB_INF_PATCH_PCD = 'PatchPcd'\r
714TAB_INF_PCD = 'Pcd'\r
715TAB_INF_PCD_EX = 'PcdEx'\r
716TAB_INF_GUIDTYPE_VAR = 'Variable'\r
717\r
718#\r
719# Dec Definitions\r
720#\r
721TAB_DEC_DEFINES = TAB_COMMON_DEFINES\r
722TAB_DEC_DEFINES_DEC_SPECIFICATION = 'DEC_SPECIFICATION'\r
723TAB_DEC_DEFINES_PACKAGE_NAME = 'PACKAGE_NAME'\r
724TAB_DEC_DEFINES_PACKAGE_GUID = 'PACKAGE_GUID'\r
725TAB_DEC_DEFINES_PACKAGE_VERSION = 'PACKAGE_VERSION'\r
726TAB_DEC_DEFINES_PKG_UNI_FILE = 'PKG_UNI_FILE'\r
727\r
728#\r
729# Dsc Definitions\r
730#\r
731TAB_DSC_DEFINES = TAB_COMMON_DEFINES\r
732TAB_DSC_DEFINES_PLATFORM_NAME = 'PLATFORM_NAME'\r
733TAB_DSC_DEFINES_PLATFORM_GUID = 'PLATFORM_GUID'\r
734TAB_DSC_DEFINES_PLATFORM_VERSION = 'PLATFORM_VERSION'\r
735TAB_DSC_DEFINES_DSC_SPECIFICATION = 'DSC_SPECIFICATION'\r
736TAB_DSC_DEFINES_OUTPUT_DIRECTORY = 'OUTPUT_DIRECTORY'\r
737TAB_DSC_DEFINES_SUPPORTED_ARCHITECTURES = 'SUPPORTED_ARCHITECTURES'\r
738TAB_DSC_DEFINES_BUILD_TARGETS = 'BUILD_TARGETS'\r
739TAB_DSC_DEFINES_SKUID_IDENTIFIER = 'SKUID_IDENTIFIER'\r
740TAB_DSC_DEFINES_FLASH_DEFINITION = 'FLASH_DEFINITION'\r
741TAB_DSC_DEFINES_BUILD_NUMBER = 'BUILD_NUMBER'\r
742TAB_DSC_DEFINES_MAKEFILE_NAME = 'MAKEFILE_NAME'\r
743TAB_DSC_DEFINES_BS_BASE_ADDRESS = 'BsBaseAddress'\r
744TAB_DSC_DEFINES_RT_BASE_ADDRESS = 'RtBaseAddress'\r
745TAB_DSC_DEFINES_DEFINE = 'DEFINE'\r
746TAB_FIX_LOAD_TOP_MEMORY_ADDRESS = 'FIX_LOAD_TOP_MEMORY_ADDRESS'\r
747\r
748#\r
749# TargetTxt Definitions\r
750#\r
751TAB_TAT_DEFINES_ACTIVE_PLATFORM = 'ACTIVE_PLATFORM'\r
752TAB_TAT_DEFINES_ACTIVE_MODULE = 'ACTIVE_MODULE'\r
753TAB_TAT_DEFINES_TOOL_CHAIN_CONF = 'TOOL_CHAIN_CONF'\r
754TAB_TAT_DEFINES_MULTIPLE_THREAD = 'MULTIPLE_THREAD'\r
755TAB_TAT_DEFINES_MAX_CONCURRENT_THREAD_NUMBER = 'MAX_CONCURRENT_THREAD_NUMBER'\r
756TAB_TAT_DEFINES_TARGET = 'TARGET'\r
757TAB_TAT_DEFINES_TOOL_CHAIN_TAG = 'TOOL_CHAIN_TAG'\r
758TAB_TAT_DEFINES_TARGET_ARCH = 'TARGET_ARCH'\r
759TAB_TAT_DEFINES_BUILD_RULE_CONF = "BUILD_RULE_CONF"\r
760\r
761#\r
762# ToolDef Definitions\r
763#\r
764TAB_TOD_DEFINES_TARGET = 'TARGET'\r
765TAB_TOD_DEFINES_TOOL_CHAIN_TAG = 'TOOL_CHAIN_TAG'\r
766TAB_TOD_DEFINES_TARGET_ARCH = 'TARGET_ARCH'\r
767TAB_TOD_DEFINES_COMMAND_TYPE = 'COMMAND_TYPE'\r
768TAB_TOD_DEFINES_FAMILY = 'FAMILY'\r
769TAB_TOD_DEFINES_BUILDRULEFAMILY = 'BUILDRULEFAMILY'\r
770\r
771#\r
772# Conditional Statements\r
773#\r
774TAB_IF = '!if'\r
775TAB_END_IF = '!endif'\r
776TAB_ELSE_IF = '!elseif'\r
777TAB_ELSE = '!else'\r
778TAB_IF_DEF = '!ifdef'\r
779TAB_IF_N_DEF = '!ifndef'\r
780TAB_IF_EXIST = '!if exist'\r
781\r
782#\r
783# Unknown section\r
784#\r
785TAB_UNKNOWN = 'UNKNOWN'\r
786\r
787#\r
788# Header section (virtual section for abstract, description, copyright, \r
789# license)\r
790#\r
791TAB_HEADER = 'Header'\r
792TAB_HEADER_ABSTRACT = 'Abstract'\r
793TAB_HEADER_DESCRIPTION = 'Description' \r
794TAB_HEADER_COPYRIGHT = 'Copyright'\r
795TAB_HEADER_LICENSE = 'License'\r
796#\r
797# Build database path\r
798#\r
799DATABASE_PATH = ":memory:" \r
800#\r
801# used by ECC\r
802#\r
803MODIFIER_LIST = ['IN', 'OUT', 'OPTIONAL', 'UNALIGNED', 'EFI_RUNTIMESERVICE', \\r
804 'EFI_BOOTSERVICE', 'EFIAPI']\r
805#\r
806# Dependency Expression\r
807#\r
808DEPEX_SUPPORTED_OPCODE = ["BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", \\r
809 "END", "SOR", "TRUE", "FALSE", '(', ')']\r
810\r
811TAB_STATIC_LIBRARY = "STATIC-LIBRARY-FILE"\r
812TAB_DYNAMIC_LIBRARY = "DYNAMIC-LIBRARY-FILE"\r
813TAB_FRAMEWORK_IMAGE = "EFI-IMAGE-FILE"\r
814TAB_C_CODE_FILE = "C-CODE-FILE"\r
815TAB_C_HEADER_FILE = "C-HEADER-FILE"\r
816TAB_UNICODE_FILE = "UNICODE-TEXT-FILE"\r
817TAB_DEPENDENCY_EXPRESSION_FILE = "DEPENDENCY-EXPRESSION-FILE"\r
818TAB_UNKNOWN_FILE = "UNKNOWN-TYPE-FILE"\r
819TAB_DEFAULT_BINARY_FILE = "_BINARY_FILE_"\r
820#\r
821# used to indicate the state of processing header comment section of dec, \r
822# inf files\r
823#\r
824HEADER_COMMENT_NOT_STARTED = -1\r
825HEADER_COMMENT_STARTED = 0\r
826HEADER_COMMENT_FILE = 1\r
827HEADER_COMMENT_ABSTRACT = 2\r
828HEADER_COMMENT_DESCRIPTION = 3\r
829HEADER_COMMENT_COPYRIGHT = 4\r
830HEADER_COMMENT_LICENSE = 5\r
831HEADER_COMMENT_END = 6\r
832\r
833#\r
834# Static values for data models\r
835#\r
836MODEL_UNKNOWN = 0\r
837\r
838MODEL_FILE_C = 1001\r
839MODEL_FILE_H = 1002\r
840MODEL_FILE_ASM = 1003\r
841MODEL_FILE_INF = 1011\r
842MODEL_FILE_DEC = 1012\r
843MODEL_FILE_DSC = 1013\r
844MODEL_FILE_FDF = 1014\r
845MODEL_FILE_INC = 1015\r
846MODEL_FILE_CIF = 1016\r
847\r
848MODEL_IDENTIFIER_FILE_HEADER = 2001\r
849MODEL_IDENTIFIER_FUNCTION_HEADER = 2002\r
850MODEL_IDENTIFIER_COMMENT = 2003\r
851MODEL_IDENTIFIER_PARAMETER = 2004\r
852MODEL_IDENTIFIER_STRUCTURE = 2005\r
853MODEL_IDENTIFIER_VARIABLE = 2006\r
854MODEL_IDENTIFIER_INCLUDE = 2007\r
855MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2008\r
856MODEL_IDENTIFIER_ENUMERATE = 2009\r
857MODEL_IDENTIFIER_PCD = 2010\r
858MODEL_IDENTIFIER_UNION = 2011\r
859MODEL_IDENTIFIER_MACRO_IFDEF = 2012\r
860MODEL_IDENTIFIER_MACRO_IFNDEF = 2013\r
861MODEL_IDENTIFIER_MACRO_DEFINE = 2014\r
862MODEL_IDENTIFIER_MACRO_ENDIF = 2015\r
863MODEL_IDENTIFIER_MACRO_PROGMA = 2016\r
864MODEL_IDENTIFIER_FUNCTION_CALLING = 2018\r
865MODEL_IDENTIFIER_TYPEDEF = 2017\r
866MODEL_IDENTIFIER_FUNCTION_DECLARATION = 2019\r
867MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION = 2020\r
868\r
869MODEL_EFI_PROTOCOL = 3001\r
870MODEL_EFI_PPI = 3002\r
871MODEL_EFI_GUID = 3003\r
872MODEL_EFI_LIBRARY_CLASS = 3004\r
873MODEL_EFI_LIBRARY_INSTANCE = 3005\r
874MODEL_EFI_PCD = 3006\r
875MODEL_EFI_SOURCE_FILE = 3007\r
876MODEL_EFI_BINARY_FILE = 3008\r
877MODEL_EFI_SKU_ID = 3009\r
878MODEL_EFI_INCLUDE = 3010\r
879MODEL_EFI_DEPEX = 3011\r
880\r
881MODEL_PCD = 4000\r
882MODEL_PCD_FIXED_AT_BUILD = 4001\r
883MODEL_PCD_PATCHABLE_IN_MODULE = 4002\r
884MODEL_PCD_FEATURE_FLAG = 4003\r
885MODEL_PCD_DYNAMIC_EX = 4004\r
886MODEL_PCD_DYNAMIC_EX_DEFAULT = 4005\r
887MODEL_PCD_DYNAMIC_EX_VPD = 4006\r
888MODEL_PCD_DYNAMIC_EX_HII = 4007\r
889MODEL_PCD_DYNAMIC = 4008\r
890MODEL_PCD_DYNAMIC_DEFAULT = 4009\r
891MODEL_PCD_DYNAMIC_VPD = 4010\r
892MODEL_PCD_DYNAMIC_HII = 4011\r
893\r
894MODEL_META_DATA_FILE_HEADER = 5000\r
895MODEL_META_DATA_HEADER = 5001\r
896MODEL_META_DATA_INCLUDE = 5002\r
897MODEL_META_DATA_DEFINE = 5003\r
898MODEL_META_DATA_CONDITIONAL_STATEMENT_IF = 5004\r
899MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005\r
900MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006\r
901MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007\r
902MODEL_META_DATA_BUILD_OPTION = 5008\r
903MODEL_META_DATA_COMPONENT = 5009\r
904MODEL_META_DATA_USER_EXTENSION = 5010\r
905MODEL_META_DATA_PACKAGE = 5011\r
906MODEL_META_DATA_NMAKE = 5012\r
907MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF = 50013\r
908MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014\r
909MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH = 5015\r
910\r
911TOOL_FAMILY_LIST = ["MSFT",\r
912 "INTEL",\r
913 "GCC",\r
914 "RVCT"\r
915 ]\r
916\r
917TYPE_HOB_SECTION = 'HOB'\r
918TYPE_EVENT_SECTION = 'EVENT'\r
919TYPE_BOOTMODE_SECTION = 'BOOTMODE' \r