BINARY_FILE_TYPE_BIN = 'BIN'\r
BINARY_FILE_TYPE_FV = 'FV'\r
\r
-PLATFORM_COMPONENT_TYPE_LIBRARY = EDK_COMPONENT_TYPE_LIBRARY\r
PLATFORM_COMPONENT_TYPE_LIBRARY_CLASS = 'LIBRARY_CLASS'\r
PLATFORM_COMPONENT_TYPE_MODULE = 'MODULE'\r
\r
## The mapping dictionary from datum type to its maximum number.\r
MAX_VAL_TYPE = {"BOOLEAN":0x01, TAB_UINT8:0xFF, TAB_UINT16:0xFFFF, TAB_UINT32:0xFFFFFFFF, TAB_UINT64:0xFFFFFFFFFFFFFFFF}\r
## The mapping dictionary from datum type to size string.\r
-MAX_SIZE_TYPE = {"BOOLEAN":"1", TAB_UINT8:"1", TAB_UINT16:"2", TAB_UINT32:"4", TAB_UINT64:"8"}\r
+MAX_SIZE_TYPE = {"BOOLEAN":1, TAB_UINT8:1, TAB_UINT16:2, TAB_UINT32:4, TAB_UINT64:8}\r
\r
TAB_DEPEX = 'Depex'\r
TAB_DEPEX_COMMON = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_COMMON\r
TAB_IF_DEF = '!ifdef'\r
TAB_IF_N_DEF = '!ifndef'\r
TAB_IF_EXIST = '!if exist'\r
-TAB_ERROR = '!ERROR'\r
+TAB_ERROR = '!error'\r
\r
#\r
# Unknown section\r
# used by ECC\r
MODIFIER_SET = {'IN', 'OUT', 'OPTIONAL', 'UNALIGNED', 'EFI_RUNTIMESERVICE', 'EFI_BOOTSERVICE', 'EFIAPI'}\r
\r
+# Dependency Opcodes\r
+DEPEX_OPCODE_BEFORE = "BEFORE"\r
+DEPEX_OPCODE_AFTER = "AFTER"\r
+DEPEX_OPCODE_PUSH = "PUSH"\r
+DEPEX_OPCODE_AND = "AND"\r
+DEPEX_OPCODE_OR = "OR"\r
+DEPEX_OPCODE_NOT = "NOT"\r
+DEPEX_OPCODE_END = "END"\r
+DEPEX_OPCODE_SOR = "SOR"\r
+DEPEX_OPCODE_TRUE = "TRUE"\r
+DEPEX_OPCODE_FALSE = "FALSE"\r
+\r
# Dependency Expression\r
DEPEX_SUPPORTED_OPCODE_SET = {"BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", "END", "SOR", "TRUE", "FALSE", '(', ')'}\r
\r
PCDS_DYNAMICEX_VPD = "PcdsDynamicExVpd"\r
PCDS_DYNAMICEX_HII = "PcdsDynamicExHii"\r
\r
-SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(),PCDS_DYNAMIC_VPD.upper(),PCDS_DYNAMIC_HII.upper(), \\r
- PCDS_DYNAMICEX_DEFAULT.upper(),PCDS_DYNAMICEX_VPD.upper(),PCDS_DYNAMICEX_HII.upper()}\r
+SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(), PCDS_DYNAMIC_VPD.upper(), PCDS_DYNAMIC_HII.upper(), \\r
+ PCDS_DYNAMICEX_DEFAULT.upper(), PCDS_DYNAMICEX_VPD.upper(), PCDS_DYNAMICEX_HII.upper()}\r
# Section allowed to have items after arch\r
SECTIONS_HAVE_ITEM_AFTER_ARCH_SET = {TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(), TAB_USER_EXTENSIONS.upper(),\r
PCDS_DYNAMIC_DEFAULT.upper(),\r
PCDS_DYNAMICEX_HII.upper(),\r
TAB_BUILD_OPTIONS.upper(),\r
TAB_INCLUDES.upper()}\r
+\r
+#\r
+# pack codes as used in PcdDb and elsewhere\r
+#\r
+PACK_PATTERN_GUID = '=LHHBBBBBBBB'\r
+PACK_CODE_BY_SIZE = {8:'=Q',\r
+ 4:'=L',\r
+ 2:'=H',\r
+ 1:'=B',\r
+ 0:'=B',\r
+ 16:""}\r