]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/Library/DataType.py
This patch is going to:
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Library / DataType.py
index 4b30f3343e11ac8d7ad0532765d2b1e5aca4da8a..8449dc8d6d328ce0dbe6cc404a648338f1f174de 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # This file is used to define class for data type structure\r
 #\r
-# Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials are licensed and made available \r
 # under the terms and conditions of the BSD License which accompanies this \r
@@ -47,7 +47,10 @@ USAGE_LIST = ["CONSUMES",
               "PRODUCES",\r
               "SOMETIMES_PRODUCES"]\r
 \r
-LANGUAGE_EN_US = 'en-US'\r
+TAB_LANGUAGE_EN_US = 'en-US'\r
+TAB_LANGUAGE_ENG   = 'eng'\r
+TAB_LANGUAGE_EN    = 'en'\r
+TAB_LANGUAGE_EN_X  = 'en-x-tianocore'\r
 \r
 USAGE_ITEM_PRODUCES           = 'PRODUCES'\r
 USAGE_ITEM_SOMETIMES_PRODUCES = 'SOMETIMES_PRODUCES'\r
@@ -80,6 +83,14 @@ USAGE_SOMETIMES_CONSUMES_LIST = [USAGE_ITEM_SOMETIMES_CONSUMES,
 \r
 ITEM_UNDEFINED = 'UNDEFINED'\r
 \r
+TAB_PCD_VALIDRANGE = '@ValidRange'\r
+TAB_PCD_VALIDLIST = '@ValidList'\r
+TAB_PCD_EXPRESSION = '@Expression'\r
+TAB_PCD_PROMPT = '@Prompt'\r
+TAB_STR_TOKENCNAME = 'STR'\r
+TAB_STR_TOKENPROMPT = 'PROMPT'\r
+TAB_STR_TOKENHELP = 'HELP'\r
+TAB_STR_TOKENERR = 'ERR'\r
 \r
 #\r
 # Dictionary of usage tokens and their synonmys\r
@@ -269,11 +280,12 @@ PCD_USAGE_TYPE_LIST_OF_UPT = PCD_USAGE_TYPE_LIST_OF_MODULE
 ##\r
 # Binary File Type List\r
 #\r
-BINARY_FILE_TYPE_LIST = ["GUID", "PE32", "PIC", "TE", "DXE_DEPEX", "VER", "UI", "COMPAT16", "FV", "BIN", "RAW",\r
+BINARY_FILE_TYPE_LIST = ["PE32", "PIC", "TE", "DXE_DEPEX", "VER", "UI", "COMPAT16", "FV", "BIN", "RAW",\r
                          "ACPI", "ASL",\r
                          "PEI_DEPEX",\r
                          "SMM_DEPEX",\r
-                         "SUBTYPE_GUID"                                    \r
+                         "SUBTYPE_GUID",\r
+                         "DISPOSABLE"\r
                          ]\r
 BINARY_FILE_TYPE_LIST_IN_UDP = \\r
                         ["GUID", "FREEFORM",\r
@@ -285,6 +297,7 @@ BINARY_FILE_TYPE_LIST_IN_UDP = \
                          "BIN", "VER", "UI"                      \r
                          ]\r
 \r
+SUBTYPE_GUID_BINARY_FILE_TYPE = "FREEFORM"\r
 ##\r
 # Possible values for COMPONENT_TYPE, and their descriptions, are listed in \r
 # the table, \r
@@ -328,6 +341,7 @@ TAB_EQUAL_SPLIT = '='
 TAB_DEQUAL_SPLIT = '=='\r
 TAB_VALUE_SPLIT = '|'\r
 TAB_COMMA_SPLIT = ','\r
+TAB_HORIZON_LINE_SPLIT = '-'\r
 TAB_SPACE_SPLIT = ' '\r
 TAB_UNDERLINE_SPLIT = '_'\r
 TAB_SEMI_COLON_SPLIT = ';'\r
@@ -341,7 +355,13 @@ TAB_BACK_SLASH = '/'
 TAB_SPECIAL_COMMENT = '##'\r
 TAB_HEADER_COMMENT = '@file'\r
 TAB_BINARY_HEADER_COMMENT = '@BinaryHeader'\r
-TAB_STAR = "*"\r
+TAB_STAR = '*'\r
+TAB_ENCODING_UTF16LE = 'utf_16_le'\r
+TAB_CAPHEX_START = '0X'\r
+TAB_HEX_START = '0x'\r
+TAB_PCD_ERROR = 'Error'\r
+TAB_PCD_ERROR_SECTION_COMMENT = 'Error message section'\r
+TAB_UNI_FILE_SUFFIXS = ['.uni', '.UNI', '.Uni']\r
 \r
 TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
 TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
@@ -354,10 +374,9 @@ TAB_ARCH_X64 = 'X64'
 TAB_ARCH_IPF = 'IPF'\r
 TAB_ARCH_ARM = 'ARM'\r
 TAB_ARCH_EBC = 'EBC'\r
-TAB_ARCH_AARCH64 = 'AARCH64'\r
 \r
 ARCH_LIST = \\r
-[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC, TAB_ARCH_AARCH64]\r
+[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC]\r
 \r
 SUP_MODULE_BASE = 'BASE'\r
 SUP_MODULE_SEC = 'SEC'\r
@@ -442,7 +461,6 @@ TAB_SOURCES_X64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64
 TAB_SOURCES_IPF = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_SOURCES_ARM = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_SOURCES_EBC = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_SOURCES_AARCH64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_BINARIES = 'Binaries'\r
 TAB_BINARIES_COMMON = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -451,7 +469,6 @@ TAB_BINARIES_X64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64
 TAB_BINARIES_IPF = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_BINARIES_ARM = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_BINARIES_EBC = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_BINARIES_AARCH64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_INCLUDES = 'Includes'\r
 TAB_INCLUDES_COMMON = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -460,7 +477,6 @@ TAB_INCLUDES_X64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64
 TAB_INCLUDES_IPF = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_INCLUDES_ARM = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_INCLUDES_EBC = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_INCLUDES_AARCH64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_GUIDS = 'Guids'\r
 TAB_GUIDS_COMMON = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -469,7 +485,6 @@ TAB_GUIDS_X64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64
 TAB_GUIDS_IPF = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_GUIDS_ARM = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_GUIDS_EBC = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_GUIDS_AARCH64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PROTOCOLS = 'Protocols'\r
 TAB_PROTOCOLS_COMMON = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -478,7 +493,6 @@ TAB_PROTOCOLS_X64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64
 TAB_PROTOCOLS_IPF = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_PROTOCOLS_ARM = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PROTOCOLS_EBC = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PROTOCOLS_AARCH64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PPIS = 'Ppis'\r
 TAB_PPIS_COMMON = TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -487,7 +501,6 @@ TAB_PPIS_X64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64
 TAB_PPIS_IPF = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_PPIS_ARM = TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PPIS_EBC = TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PPIS_AARCH64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_LIBRARY_CLASSES = 'LibraryClasses'\r
 TAB_LIBRARY_CLASSES_COMMON = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -496,7 +509,6 @@ TAB_LIBRARY_CLASSES_X64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_X64
 TAB_LIBRARY_CLASSES_IPF = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_LIBRARY_CLASSES_ARM = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_LIBRARY_CLASSES_EBC = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_LIBRARY_CLASSES_AARCH64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PACKAGES = 'Packages'\r
 TAB_PACKAGES_COMMON = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -505,7 +517,6 @@ TAB_PACKAGES_X64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64
 TAB_PACKAGES_IPF = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_PACKAGES_ARM = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PACKAGES_EBC = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PACKAGES_AARCH64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PCDS = 'Pcds'\r
 TAB_PCDS_FIXED_AT_BUILD = 'FixedAtBuild'\r
@@ -545,8 +556,6 @@ TAB_PCDS_FIXED_AT_BUILD_ARM = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \
 TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PCDS_FIXED_AT_BUILD_EBC = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
 TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PCDS_FIXED_AT_BUILD_AARCH64 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \\r
-TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PCDS_PATCHABLE_IN_MODULE_NULL = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE\r
 TAB_PCDS_PATCHABLE_IN_MODULE_COMMON = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE \\r
@@ -561,8 +570,6 @@ TAB_PCDS_PATCHABLE_IN_MODULE_ARM = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \
 TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PCDS_PATCHABLE_IN_MODULE_EBC = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
 TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PCDS_PATCHABLE_IN_MODULE_AARCH64 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \\r
-TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PCDS_FEATURE_FLAG_NULL = TAB_PCDS + TAB_PCDS_FEATURE_FLAG\r
 TAB_PCDS_FEATURE_FLAG_COMMON = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT \\r
@@ -577,8 +584,6 @@ TAB_PCDS_FEATURE_FLAG_ARM = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \
 TAB_ARCH_ARM\r
 TAB_PCDS_FEATURE_FLAG_EBC = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
 TAB_ARCH_EBC\r
-TAB_PCDS_FEATURE_FLAG_AARCH64 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \\r
-TAB_ARCH_AARCH64\r
 \r
 TAB_PCDS_DYNAMIC_EX_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX\r
 TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_DEFAULT\r
@@ -596,8 +601,6 @@ TAB_PCDS_DYNAMIC_EX_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \
 TAB_ARCH_ARM\r
 TAB_PCDS_DYNAMIC_EX_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
 TAB_ARCH_EBC\r
-TAB_PCDS_DYNAMIC_EX_AARCH64 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \\r
-TAB_ARCH_AARCH64\r
 \r
 TAB_PCDS_DYNAMIC_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC\r
 TAB_PCDS_DYNAMIC_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_DEFAULT\r
@@ -610,7 +613,6 @@ TAB_PCDS_DYNAMIC_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_X64
 TAB_PCDS_DYNAMIC_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_PCDS_DYNAMIC_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_PCDS_DYNAMIC_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_PCDS_DYNAMIC_AARCH64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC_DEFAULT_NULL, \\r
                              TAB_PCDS_DYNAMIC_VPD_NULL, \\r
@@ -651,7 +653,6 @@ TAB_DEPEX_X64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64
 TAB_DEPEX_IPF = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_DEPEX_ARM = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_DEPEX_EBC = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_DEPEX_AARCH64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_SKUIDS = 'SkuIds'\r
 \r
@@ -662,7 +663,6 @@ TAB_LIBRARIES_X64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64
 TAB_LIBRARIES_IPF = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_LIBRARIES_ARM = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_LIBRARIES_EBC = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_LIBRARIES_AARCH64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_COMPONENTS = 'Components'\r
 TAB_COMPONENTS_COMMON = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_COMMON\r
@@ -671,7 +671,6 @@ TAB_COMPONENTS_X64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_X64
 TAB_COMPONENTS_IPF = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IPF\r
 TAB_COMPONENTS_ARM = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM\r
 TAB_COMPONENTS_EBC = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC\r
-TAB_COMPONENTS_AARCH64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_AARCH64\r
 \r
 TAB_COMPONENTS_SOURCE_OVERRIDE_PATH = 'SOURCE_OVERRIDE_PATH'\r
 \r
@@ -699,6 +698,7 @@ TAB_INF_DEFINES_EFI_SPECIFICATION_VERSION = 'EFI_SPECIFICATION_VERSION'
 TAB_INF_DEFINES_UEFI_SPECIFICATION_VERSION = 'UEFI_SPECIFICATION_VERSION'\r
 TAB_INF_DEFINES_PI_SPECIFICATION_VERSION = 'PI_SPECIFICATION_VERSION'\r
 TAB_INF_DEFINES_EDK_RELEASE_VERSION = 'EDK_RELEASE_VERSION'\r
+TAB_INF_DEFINES_MODULE_UNI_FILE    = 'MODULE_UNI_FILE'\r
 TAB_INF_DEFINES_BINARY_MODULE = 'BINARY_MODULE'\r
 TAB_INF_DEFINES_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
 TAB_INF_DEFINES_COMPONENT_TYPE = 'COMPONENT_TYPE'\r
@@ -750,7 +750,7 @@ TAB_DEC_DEFINES_DEC_SPECIFICATION = 'DEC_SPECIFICATION'
 TAB_DEC_DEFINES_PACKAGE_NAME = 'PACKAGE_NAME'\r
 TAB_DEC_DEFINES_PACKAGE_GUID = 'PACKAGE_GUID'\r
 TAB_DEC_DEFINES_PACKAGE_VERSION = 'PACKAGE_VERSION'\r
-TAB_DEC_DEFINES_PKG_UNI_FILE    = 'PKG_UNI_FILE'\r
+TAB_DEC_DEFINES_PKG_UNI_FILE    = 'PACKAGE_UNI_FILE'\r
 TAB_DEC_PACKAGE_ABSTRACT = 'STR_PACKAGE_ABSTRACT'\r
 TAB_DEC_PACKAGE_DESCRIPTION = 'STR_PACKAGE_DESCRIPTION'\r
 TAB_DEC_PACKAGE_LICENSE = 'STR_PACKAGE_LICENSE'\r
@@ -827,6 +827,7 @@ TAB_HEADER_COPYRIGHT = 'Copyright'
 TAB_HEADER_LICENSE = 'License'\r
 TAB_BINARY_HEADER_IDENTIFIER = 'BinaryHeader'\r
 TAB_BINARY_HEADER_USERID = 'TianoCore'\r
+\r
 #\r
 # Build database path\r
 #\r
@@ -951,3 +952,5 @@ TOOL_FAMILY_LIST = ["MSFT",
 TYPE_HOB_SECTION = 'HOB'\r
 TYPE_EVENT_SECTION = 'EVENT'\r
 TYPE_BOOTMODE_SECTION = 'BOOTMODE' \r
+\r
+PCD_ERR_CODE_MAX_SIZE = 4294967295\r