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