1 ## @file 2 # Intel Framework Module Package. 3 # 4 # This package contains the definitions and module implementation 5 # which follows Intel EFI Framework Specification. 6 # 7 # Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> 8 # 9 # This program and the accompanying materials 10 # are licensed and made available under the terms and conditions of the BSD License 11 # which accompanies this distribution. The full text of the license may be found at 12 # http://opensource.org/licenses/bsd-license.php 13 # 14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 16 # 17 ## 18 19 [Defines] 20 DEC_SPECIFICATION = 0x00010005 21 PACKAGE_NAME = IntelFrameworkModulePkg 22 PACKAGE_UNI_FILE = IntelFrameworkModulePkg.uni 23 PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF 24 PACKAGE_VERSION = 0.96 25 26 [Includes] 27 Include # Root include for the package 28 29 [LibraryClasses] 30 ## @libraryclass Platform BDS library definition about platform specific behavior. 31 PlatformBdsLib|Include/Library/PlatformBdsLib.h 32 33 ## @libraryclass Generic BDS library definition, include the data structure and function. 34 GenericBdsLib|Include/Library/GenericBdsLib.h 35 36 [Guids] 37 ## IntelFrameworkModule package token space guid 38 # Include/Guid/IntelFrameworkModulePkgTokenSpace.h 39 gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }} 40 41 ## GUID identifies Data Hub records logged by Status Code Runtime Protocol. 42 # Include/Guid/DataHubStatusCodeRecord.h 43 gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }} 44 45 ## GUID indicates the tiano custom compress/decompress algorithm. 46 # Include/Guid/TianoDecompress.h 47 gTianoCustomDecompressGuid = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }} 48 49 ## Include/Guid/AcpiVariable.h 50 gEfiAcpiVariableCompatiblityGuid = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a }} 51 52 ## Include/Guid/LegacyBios.h 53 gEfiLegacyBiosGuid = { 0x2E3044AC, 0x879F, 0x490F, { 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50 }} 54 55 ## Include/Guid/LegacyDevOrder.h 56 gEfiLegacyDevOrderVariableGuid = { 0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52 }} 57 58 ## Include/Guid/CapsuleDataFile.h 59 gEfiUpdateDataFileGuid = { 0x283fa2ee, 0x532c, 0x484d, { 0x93, 0x83, 0x9f, 0x93, 0xb3, 0x6f, 0xb, 0x7e }} 60 61 ## Include/Guid/BlockIoVendor.h 62 gBlockIoVendorGuid = { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b }} 63 64 ## Include/Guid/BdsHii.h 65 gFrontPageFormSetGuid = { 0x9e0c30bc, 0x3f06, 0x4ba6, {0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }} 66 gBootManagerFormSetGuid = { 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b }} 67 gDeviceManagerFormSetGuid = { 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27 }} 68 gDriverHealthFormSetGuid = { 0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34 }} 69 gBootMaintFormSetGuid = { 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22 }} 70 gFileExploreFormSetGuid = { 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b }} 71 72 ## Include/Guid/BdsLibHii.h 73 gBdsLibStringPackageGuid = { 0x3b4d9b23, 0x95ac, 0x44f6, {0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 }} 74 75 ## Include/Guid/LastEnumLang.h 76 gLastEnumLangGuid = { 0xe8c545b, 0xa2ee, 0x470d, {0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 }} 77 78 ## Include/Guid/HdBootVariable.h 79 gHdBootDevicePathVariablGuid = { 0xfab7e9e1, 0x39dd, 0x4f2b, {0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde }} 80 81 [Protocols] 82 ## Vga Mini port binding for a VGA controller 83 # Include/Protocol/VgaMiniPort.h 84 gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }} 85 86 ## ISA I/O Protocol is used to perform ISA device Io/Mem operations. 87 # Include/Protocol/IsaIo.h 88 gEfiIsaIoProtocolGuid = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }} 89 90 ## ISA Acpi Protocol is used to operate and communicate with ISA device. 91 # Include/Protocol/IsaAcpi.h 92 gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }} 93 94 ## PS/2 policy protocol abstracts the specific platform initialization and setting. 95 # Include/Protocol/Ps2Policy.h 96 gEfiPs2PolicyProtocolGuid = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }} 97 98 ## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute. 99 # Include/Protocol/OEMBadging.h 100 gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }} 101 102 ## Include/Protocol/ExitPmAuth.h 103 gExitPmAuthProtocolGuid = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }} 104 105 # 106 # [Error.gEfiIntelFrameworkModulePkgTokenSpaceGuid] 107 # 0x80000001 | Invalid value provided. 108 # 0x80000002 | Reserved bits must be set to zero. 109 # 110 111 [PcdsFeatureFlag] 112 ## Indicates if OEM device is enabled as StatusCode report device. 113 # It is only used in Framework StatusCode implementation. <BR><BR> 114 # TRUE - Enable OEM device.<BR> 115 # FALSE - Disable OEM device.<BR> 116 # @Prompt Report StatusCode via OEM Device 117 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024 118 119 ## Indicates if StatusCode report is loged into DataHub.<BR><BR> 120 # TRUE - Log StatusCode report into DataHub.<BR> 121 # FALSE - Does not log StatusCode report into DataHub.<BR> 122 # @Prompt Log StatusCode into DataHub 123 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029 124 125 ## Indicates if Serial device uses half hand shake.<BR><BR> 126 # TRUE - Serial device uses half hand shake.<BR> 127 # FALSE - Serial device doesn't use half hand shake.<BR> 128 # @Prompt Enable Serial device Half Hand Shake 129 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043 130 131 ## Indicates if Legacy support is needed for ACPI S3 Save.<BR><BR> 132 # TRUE - Support Legacy OS with S3 boot.<BR> 133 # FALSE - Does not support Legacy OS with S3 boot.<BR> 134 # @Prompt Turn on Legacy Support in S3 Boot 135 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044 136 137 ## Indicates if PS2 keyboard does a extended verification during start. 138 # Extended verification will take some performance. It can be set to FALSE for boot performance.<BR><BR> 139 # TRUE - Turn on PS2 keyboard extended verification.<BR> 140 # FALSE - Turn off PS2 keyboard extended verification.<BR> 141 # @Prompt Turn on PS2 Keyboard Extended Verification 142 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2KbdExtendedVerification|TRUE|BOOLEAN|0x00010045 143 144 ## Indicates if Framework Acpi Support protocol is installed.<BR><BR> 145 # TRUE - Install Framework Acpi Support protocol.<BR> 146 # FALSE - Doesn't install Framework Acpi Support protocol.<BR> 147 # @Prompt Enable Framework Acpi Support 148 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046 149 150 151 ## Indicates if PS2 mouse does a extended verification during start. 152 # Extended verification will take some performance. It can be set to FALSE for boot performance.<BR><BR> 153 # TRUE - Turn on PS2 mouse extended verification. <BR> 154 # FALSE - Turn off PS2 mouse extended verification. <BR> 155 # @Prompt Turn on PS2 Mouse Extended Verification 156 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification|TRUE|BOOLEAN|0x00010047 157 158 ## Indicates if only Boot logo is showed and all message output is disabled in BDS.<BR><BR> 159 # TRUE - Only Boot Logo is showed in boot.<BR> 160 # FALSE - All messages and Boot Logo are showed in boot.<BR> 161 # @Prompt Enable Boot Logo only 162 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048 163 164 [PcdsFixedAtBuild, PcdsPatchableInModule] 165 ## FFS filename to find the default BMP Logo file. 166 # @Prompt FFS Name of Boot Logo File 167 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003 168 169 ## FFS filename to find the shell application. 170 # @Prompt FFS Name of Shell Application 171 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004 172 173 ## ISA Bus features to support DMA, SlaveDMA and ISA Memory. <BR><BR> 174 # BIT0 indicates if DMA is supported<BR> 175 # BIT1 indicates if only slave DMA is supported<BR> 176 # BIT2 indicates if ISA memory is supported<BR> 177 # Other BITs are reseved and must be zero. 178 # If more than one features are supported, the different BIT will be enabled at the same time. 179 # @Prompt ISA Bus Features 180 # @Expression 0x80000002 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures & 0xF8) == 0 181 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040 182 183 [PcdsDynamic, PcdsDynamicEx] 184 ## Indicates if the machine has completed one boot cycle before. 185 # After the complete boot, BootState will be set to FALSE.<BR><BR> 186 # TRUE - The complete boot cycle has not happened before.<BR> 187 # FALSE - The complete boot cycle has happened before.<BR> 188 # @Prompt Boot State Flag 189 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f 190 191 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule] 192 ## I/O Base address of floppy device controller. 193 # @Prompt I/O Base Address of Floppy Device Controller 194 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000 195 196 ## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when exiting boot service.<BR><BR> 197 # TRUE - Switch to Text VGA Mode.<BR> 198 # FALSE - Does not switch to Text VGA Mode.<BR> 199 # @Prompt Switch to Text VGA Mode on UEFI Boot 200 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001 201 202 ## Indicates if BiosVideo driver will check for VESA BIOS Extension service support.<BR><BR> 203 # TRUE - Check for VESA BIOS Extension service.<BR> 204 # FALSE - Does not check for VESA BIOS Extension service.<BR> 205 # @Prompt Enable Check for VESA BIOS Extension Service 206 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002 207 208 ## Indicates if BiosVideo driver will check for VGA service support. 209 # NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE, 210 # that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.<BR><BR> 211 # TRUE - Check for VGA service.<BR> 212 # FALSE - Does not check for VGA service.<BR> 213 # @Prompt Enable Check for VGA Service 214 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003 215 216 ## Indicates if memory space for legacy region will be set as cacheable.<BR><BR> 217 # TRUE - Set cachebility for legacy region.<BR> 218 # FALSE - Does not set cachebility for legacy region.<BR> 219 # @Prompt Enable Cachebility for Legacy Region 220 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004 221 222 ## Specify memory size with bytes to reserve EBDA below 640K for OPROM. 223 # The value should be a multiple of 4KB. 224 # @Prompt Reserved EBDA Memory Size 225 # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize < 0xA0000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize & 0x1000) == 0) 226 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005 227 228 ## Specify memory base address for OPROM to find free memory. 229 # Some OPROMs do not use EBDA or PMM to allocate memory for its usage, 230 # instead they find the memory filled with zero from 0x20000. 231 # The value should be a multiple of 4KB. 232 # The range should be below the EBDA reserved range from 233 # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP. 234 # @Prompt Reserved Memory Base Address for OPROM 235 # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase >= 0x20000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase & 0x1000) == 0) 236 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c 237 238 ## Specify memory size with bytes for OPROM to find free memory. 239 # The value should be a multiple of 4KB. And the range should be below the EBDA reserved range from 240 # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP. 241 # @Prompt Reserved Memory Size for OPROM 242 # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize < 0x80000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize & 0x1000) == 0) 243 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d 244 245 ## Specify memory size with page number for a pre-allocated reserved memory to be used 246 # by PEI in S3 phase. The default size 32K. When changing the value make sure the memory size 247 # is large enough to meet PEI requirement in the S3 phase. 248 # @Prompt Reserved S3 Boot ACPI Memory Size 249 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006 250 251 ## Specify memory size for boot script executor stack usage in S3 phase. 252 # The default size 32K. When changing the value make sure the memory size is large enough 253 # to meet boot script executor requirement in the S3 phase. 254 # @Prompt Reserved S3 Boot Script Stack ACPI Memory Size 255 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize|0x8000|UINT32|0x30000007 256 257 ## Specify the end of address below 1MB for the OPROM. 258 # The last shadowed OpROM should not exceed this address. 259 # @Prompt Top Address of Shadowed Legacy OpROM 260 # @Expression 0x80000001 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress < 0x100000 261 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008 262 263 ## Specify the low PMM (Post Memory Manager) size with bytes below 1MB. 264 # The value should be a multiple of 4KB. 265 # @Prompt Low PMM (Post Memory Manager) Size 266 # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize < 0x100000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize & 0x1000) == 0) 267 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009 268 269 ## Specify the high PMM (Post Memory Manager) size with bytes above 1MB. 270 # The value should be a multiple of 4KB. 271 # @Prompt High PMM (Post Memory Manager) Size 272 # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize & 0x1000) == 0 273 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a 274 275 ## Indicates if to use the optimized timing for best PS2 detection performance. 276 # Note this PCD could be set to TRUE for best boot performance and set to FALSE for best device compatibility.<BR><BR> 277 # TRUE - Use the optimized timing for best PS2 detection performance.<BR> 278 # FALSE - Use the normal timing to detect PS2.<BR> 279 # @Prompt Enable fast PS2 detection 280 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFastPS2Detection|FALSE|BOOLEAN|0x3000000b 281 282 [UserExtensions.TianoCore."ExtraFiles"] 283 IntelFrameworkModulePkgExtra.uni 284