## @file\r
# This file is used to define common static strings used by INF/DEC/DSC files\r
#\r
-# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
TAB_UINT64 = 'UINT64'\r
TAB_VOID = 'VOID*'\r
\r
+TAB_PCD_CLEAN_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64}\r
+TAB_PCD_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, 'BOOLEAN'}\r
+TAB_PCD_NUMERIC_TYPES_VOID = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, 'BOOLEAN', TAB_VOID}\r
+\r
TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
TAB_WORKSPACE = '$(WORKSPACE)'\r
SUP_MODULE_LIST = [SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM, SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, \\r
SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_UEFI_DRIVER, \\r
SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_USER_DEFINED, SUP_MODULE_SMM_CORE, SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]\r
-SUP_MODULE_LIST_STRING = TAB_VALUE_SPLIT.join(l for l in SUP_MODULE_LIST)\r
+SUP_MODULE_LIST_STRING = TAB_VALUE_SPLIT.join(SUP_MODULE_LIST)\r
+SUP_MODULE_SET_PEI = {SUP_MODULE_PEIM, SUP_MODULE_PEI_CORE}\r
\r
EDK_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\r
-EDK_COMPONENT_TYPE_SECUARITY_CORE = 'SECUARITY_CORE'\r
-EDK_COMPONENT_TYPE_PEI_CORE = 'PEI_CORE'\r
+EDK_COMPONENT_TYPE_SECURITY_CORE = 'SECURITY_CORE'\r
+EDK_COMPONENT_TYPE_PEI_CORE = SUP_MODULE_PEI_CORE\r
EDK_COMPONENT_TYPE_COMBINED_PEIM_DRIVER = 'COMBINED_PEIM_DRIVER'\r
EDK_COMPONENT_TYPE_PIC_PEIM = 'PIC_PEIM'\r
EDK_COMPONENT_TYPE_RELOCATABLE_PEIM = 'RELOCATABLE_PEIM'\r
EDK_NAME = 'EDK'\r
EDKII_NAME = 'EDKII'\r
\r
+COMPONENT_TO_MODULE_MAP_DICT = {\r
+ EDK_COMPONENT_TYPE_LIBRARY : SUP_MODULE_BASE,\r
+ EDK_COMPONENT_TYPE_SECURITY_CORE : SUP_MODULE_SEC,\r
+ EDK_COMPONENT_TYPE_PEI_CORE : SUP_MODULE_PEI_CORE,\r
+ EDK_COMPONENT_TYPE_COMBINED_PEIM_DRIVER : SUP_MODULE_PEIM,\r
+ EDK_COMPONENT_TYPE_PIC_PEIM : SUP_MODULE_PEIM,\r
+ EDK_COMPONENT_TYPE_RELOCATABLE_PEIM : SUP_MODULE_PEIM,\r
+ "PE32_PEIM" : SUP_MODULE_PEIM,\r
+ EDK_COMPONENT_TYPE_BS_DRIVER : SUP_MODULE_DXE_DRIVER,\r
+ EDK_COMPONENT_TYPE_RT_DRIVER : SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ EDK_COMPONENT_TYPE_SAL_RT_DRIVER : SUP_MODULE_DXE_SAL_DRIVER,\r
+ EDK_COMPONENT_TYPE_APPLICATION : SUP_MODULE_UEFI_APPLICATION,\r
+ "LOGO" : SUP_MODULE_BASE,\r
+}\r
+\r
BINARY_FILE_TYPE_FW = 'FW'\r
BINARY_FILE_TYPE_GUID = 'GUID'\r
BINARY_FILE_TYPE_PREEFORM = 'PREEFORM'\r
BINARY_FILE_TYPE_BIN = 'BIN'\r
BINARY_FILE_TYPE_FV = 'FV'\r
\r
-PLATFORM_COMPONENT_TYPE_LIBRARY = 'LIBRARY'\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
-TAB_LIBRARIES = 'Libraries'\r
-\r
TAB_SOURCES = 'Sources'\r
TAB_SOURCES_COMMON = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_COMMON\r
TAB_SOURCES_IA32 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IA32\r
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE, \\r
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE]\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
+\r
TAB_DEPEX = 'Depex'\r
TAB_DEPEX_COMMON = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_COMMON\r
TAB_DEPEX_IA32 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IA32\r
TAB_DEPEX_AARCH64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_AARCH64\r
\r
TAB_SKUIDS = 'SkuIds'\r
+TAB_DEFAULT_STORES = 'DefaultStores'\r
+TAB_DEFAULT_STORES_DEFAULT = 'STANDARD'\r
\r
TAB_LIBRARIES = 'Libraries'\r
TAB_LIBRARIES_COMMON = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_COMMON\r
TAB_NMAKE = 'Nmake'\r
TAB_USER_EXTENSIONS = 'UserExtensions'\r
TAB_INCLUDE = '!include'\r
+TAB_DEFAULT = 'DEFAULT'\r
+TAB_COMMON = 'COMMON'\r
\r
#\r
# Common Define\r