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