blob: 709b2bd33b69db0624ff4d4a37ff1b81bd9c4230 [file] [log] [blame]
lgao46bfbb5f2010-02-24 00:21:16 +00001## @file
klu2217b9922009-06-19 08:48:13 +00002# Intel Framework Module Package contains the definitions and module implementation
3# which follows Intel EFI Framework Specification.
qhuang8a9102612007-06-26 08:14:44 +00004#
mdkinney4784d662011-05-04 21:41:39 +00005# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
qhuang8a9102612007-06-26 08:14:44 +00006#
hhtian180a5a32010-04-23 16:28:26 +00007# This program and the accompanying materials
klu2f8cd2872007-07-20 09:34:04 +00008# are licensed and made available under the terms and conditions of the BSD License
9# which accompanies this distribution. The full text of the license may be found at
10# http://opensource.org/licenses/bsd-license.php
11#
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
qhuang8a9102612007-06-26 08:14:44 +000014#
lgao46bfbb5f2010-02-24 00:21:16 +000015##
qhuang8a9102612007-06-26 08:14:44 +000016
qhuang8a9102612007-06-26 08:14:44 +000017[Defines]
18 DEC_SPECIFICATION = 0x00010005
19 PACKAGE_NAME = IntelFrameworkModulePkg
20 PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF
xli2437cc0562010-03-04 15:57:53 +000021 PACKAGE_VERSION = 0.91
qhuang8a9102612007-06-26 08:14:44 +000022
mdkinney19525fe2009-07-13 19:05:07 +000023[Includes]
qwang12479922d2007-06-29 07:23:08 +000024 Include # Root include for the package
qhuang8a9102612007-06-26 08:14:44 +000025
mdkinney19525fe2009-07-13 19:05:07 +000026[LibraryClasses]
klu2ddac74d2009-02-24 15:53:05 +000027 ## @libraryclass Platform BDS library definition about platform specific behavior.
28 PlatformBdsLib|Include/Library/PlatformBdsLib.h
lgao4f4671792009-06-08 06:59:54 +000029
klu2ddac74d2009-02-24 15:53:05 +000030 ## @libraryclass Generic BDS library definition, include the data structure and function.
31 GenericBdsLib|Include/Library/GenericBdsLib.h
32
mdkinney19525fe2009-07-13 19:05:07 +000033[Guids]
lgao4f4671792009-06-08 06:59:54 +000034 ## IntelFrameworkModule package token space guid
lgao4a90ccab2009-08-07 02:20:01 +000035 # Include/Guid/IntelFrameworkModulePkgTokenSpace.h
lgao4f4671792009-06-08 06:59:54 +000036 gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}
vanjeff73850862009-07-29 14:33:45 +000037
lgao4f4671792009-06-08 06:59:54 +000038 ## GUID identifies Data Hub records logged by Status Code Runtime Protocol.
lgao4a90ccab2009-08-07 02:20:01 +000039 # Include/Guid/DataHubStatusCodeRecord.h
yshang1351986a2007-07-23 06:43:10 +000040 gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}
vanjeff73850862009-07-29 14:33:45 +000041
lgao4f4671792009-06-08 06:59:54 +000042 ## GUID indicates the tiano custom compress/decompress algorithm.
lgao4a90ccab2009-08-07 02:20:01 +000043 # Include/Guid/TianoDecompress.h
lgao4d8c79a82007-08-08 10:17:57 +000044 gTianoCustomDecompressGuid = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}
vanjeff73850862009-07-29 14:33:45 +000045
lgao4f4671792009-06-08 06:59:54 +000046 ## GUID indicates the LZMA custom compress/decompress algorithm.
lgao4a90ccab2009-08-07 02:20:01 +000047 # Include/Guid/LzmaDecompress.h
jljusten306bf4e2009-05-01 00:28:19 +000048 gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }}
49
jljusten070fba62011-06-27 23:31:40 +000050 ## Include/Guid/AcpiVariable.h
jljusten070fba62011-06-27 23:31:40 +000051 gEfiAcpiVariableCompatiblityGuid = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a }}
52
jljustenbcecde12011-06-27 23:32:56 +000053 ## Include/Guid/LegacyBios.h
54 gEfiLegacyBiosGuid = { 0x2E3044AC, 0x879F, 0x490F, { 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50 }}
lgao4e24fc102011-09-18 12:23:27 +000055
56 ## Include/Guid/LegacyDevOrder.h
57 gEfiLegacyDevOrderVariableGuid = { 0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52 }}
58
59 ## Include/Guid/CapsuleDataFile.h
60 gEfiUpdateDataFileGuid = { 0x283fa2ee, 0x532c, 0x484d, { 0x93, 0x83, 0x9f, 0x93, 0xb3, 0x6f, 0xb, 0x7e }}
61
62 ## Include/Guid/BlockIoVendor.h
63 gBlockIoVendorGuid = { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b }}
64
65 ## Include/Guid/BdsHii.h
66 gFrontPageFormSetGuid = { 0x9e0c30bc, 0x3f06, 0x4ba6, {0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }}
67 gBootManagerFormSetGuid = { 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b }}
68 gDeviceManagerFormSetGuid = { 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27 }}
69 gDriverHealthFormSetGuid = { 0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34 }}
70 gBootMaintFormSetGuid = { 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22 }}
71 gFileExploreFormSetGuid = { 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b }}
72
73 ## Include/Guid/BdsLibHii.h
74 gBdsLibStringPackageGuid = { 0x3b4d9b23, 0x95ac, 0x44f6, {0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 }}
75
76 ## Include/Guid/LastEnumLang.h
77 gLastEnumLangGuid = { 0xe8c545b, 0xa2ee, 0x470d, {0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 }}
78
79 ## Include/Guid/HdBootVariable.h
80 gHdBootDevicePathVariablGuid = { 0xfab7e9e1, 0x39dd, 0x4f2b, {0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde }}
jljustenbcecde12011-06-27 23:32:56 +000081
mdkinney19525fe2009-07-13 19:05:07 +000082[Protocols]
lgao4f4671792009-06-08 06:59:54 +000083 ## Vga Mini port binding for a VGA controller
lgao4a90ccab2009-08-07 02:20:01 +000084 # Include/Protocol/VgaMiniPort.h
yshang1351986a2007-07-23 06:43:10 +000085 gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}
gikidye8eecbf2009-04-27 02:28:39 +000086
lgao4f4671792009-06-08 06:59:54 +000087 ## ISA I/O Protocol is used to perform ISA device Io/Mem operations.
lgao4a90ccab2009-08-07 02:20:01 +000088 # Include/Protocol/IsaIo.h
yshang1c3902372007-07-02 09:09:00 +000089 gEfiIsaIoProtocolGuid = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
gikidye8eecbf2009-04-27 02:28:39 +000090
lgao4f4671792009-06-08 06:59:54 +000091 ## ISA Acpi Protocol is used to operate and communicate with ISA device.
lgao4a90ccab2009-08-07 02:20:01 +000092 # Include/Protocol/IsaAcpi.h
yshang1351986a2007-07-23 06:43:10 +000093 gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}
gikidye8eecbf2009-04-27 02:28:39 +000094
lgao4f4671792009-06-08 06:59:54 +000095 ## PS/2 policy protocol abstracts the specific platform initialization and setting.
lgao4a90ccab2009-08-07 02:20:01 +000096 # Include/Protocol/Ps2Policy.h
qwang1275d51bc2007-07-06 09:11:10 +000097 gEfiPs2PolicyProtocolGuid = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }}
qhuang8a9102612007-06-26 08:14:44 +000098
klu2da4483c2009-02-26 04:36:27 +000099 ## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute.
lgao4a90ccab2009-08-07 02:20:01 +0000100 # Include/Protocol/OEMBadging.h
klu2da4483c2009-02-26 04:36:27 +0000101 gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}
102
jljusten664e3682011-07-19 20:47:45 +0000103 ## Include/Protocol/ExitPmAuth.h
104 gExitPmAuthProtocolGuid = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }}
105
lgao4f4671792009-06-08 06:59:54 +0000106[PcdsFeatureFlag]
klu2588e3292009-06-24 06:21:49 +0000107 ## This PCD specifies whether StatusCode is reported via OEM device.
qhuang8b3af5df2007-08-30 09:11:54 +0000108 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024
lgao4d2c315e2009-06-16 01:16:27 +0000109
110 ## This PCD specifies whether StatusCode is loged into DataHub.
qhuang8b3af5df2007-08-30 09:11:54 +0000111 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029
lgao4d2c315e2009-06-16 01:16:27 +0000112
gikidy77b91d82009-07-10 07:55:14 +0000113 ## This PCD specifies whether Serial device use half hand shake.
114 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043
115
jljustenbcecde12011-06-27 23:32:56 +0000116 ## Indicates if CSM support is needed for ACPI S3 Save.
117 # If TRUE, CSM support is enclosed for ACPI S3 Save.
118 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044
119
li-elvinf6c014f2011-08-25 08:23:00 +0000120 ## This PCD specifies whether PS2 keyboard does a extended verification during start.
121 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2KbdExtendedVerification|TRUE|BOOLEAN|0x00010045
122
jljusten8a965152011-08-29 22:15:21 +0000123 ## If TRUE, ACPI Support Protocol will be installed.
124 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046
125
lgao4d46f3632009-07-09 05:48:35 +0000126[PcdsFixedAtBuild]
127 ## FFS filename to find the default BMP Logo file.
qhuang8f9ec2f02010-02-05 05:58:47 +0000128 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003
lgao4d46f3632009-07-09 05:48:35 +0000129
130 ## FFS filename to find the shell application.
qhuang8f9ec2f02010-02-05 05:58:47 +0000131 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004
lgao4d46f3632009-07-09 05:48:35 +0000132
xli2410c1a4c2009-07-10 07:01:42 +0000133 ## ISA bus related PCD to support DMA, SlaveDMA and ISA Memory features.
134 # BIT0 indicates if DMA is supported
135 # BIT1 indicates if only slave DMA is supported
136 # BIT2 indicates if ISA memory is supported
137 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040
138
mdkinney4784d662011-05-04 21:41:39 +0000139[PcdsDynamic, PcdsDynamicEx]
lgao4d2c315e2009-06-16 01:16:27 +0000140 ## PCD is used to mark if the machine has complete one boot cycle before.
vanjeff73850862009-07-29 14:33:45 +0000141 # After the complete boot, the variable BootState will be set to TRUE.
lgao4f4671792009-06-08 06:59:54 +0000142 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f
vanjeff73850862009-07-29 14:33:45 +0000143
lgao4f4671792009-06-08 06:59:54 +0000144 ## Timeout value for displaying progressing bar in before boot OS.
lgao4d2c315e2009-06-16 01:16:27 +0000145 # According to UEFI 2.0 spec, the default TimeOut should be 0xffff.
lgao4f4671792009-06-08 06:59:54 +0000146 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001
147
148 ## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.
149 # This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"
150 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002
jljustend8387fa2011-06-17 17:42:49 +0000151
jljustend8387fa2011-06-17 17:42:49 +0000152[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
153 ## I/O Base address of floppy device controller.
154 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000
155
jljustenbcecde12011-06-27 23:32:56 +0000156 ## If TRUE, BiosVideo will switch to 80x25 Text VGA Mode when exiting boot service.
157 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001
158
159 ## If TRUE, BiosVideo will check for VESA BIOS Extension service support.
160 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002
161
162 ## If TRUE, BiosVideo will check for VGA service support.
163 # NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE,
164 # that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.
165 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003
166
167 ## If TRUE, memory space for legacy region will be set as cacheable.
168 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004
169
170 ## The PCD is used to specify memory size with bytes to reserve EBDA for OPROM.
171 ## The value should be a multiple of 4KB.
172 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005
173
jljusten88d20ad2011-08-29 22:16:50 +0000174 ## The PCD is used to specify memory size with page number for a pre-allocated ACPI NVS memory to be used
175 # by PEI in S3 phase. The default size 32K. When changing the value of this PCD, the platform
176 # developer should make sure the memory size is large enough to meet PEI requiremnt in S3 phase.
177 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006
178
179 ## The PCD is used to specify memory size for boot script executor stack usage in S3 phase.
180 # The default size 32K. When changing the value of this PCD, the platform developer should
181 # make sure the memory size is large enough to meet boot script executor requiremnt in S3 phase.
182 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize|0x8000|UINT32|0x30000007
183
li-elvinbefbc4f2011-10-10 01:43:13 +0000184 ## The PCD is used to specify the end of address below 1MB for the OPROM.
185 # The last shadowed OpROM should not exceed this address.
186 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008
187
188 ## The PCD is used to specify the low PMM (Post Memory Manager) size with bytes below 1MB.
189 # The value should be a multiple of 4KB.
190 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009
191
192 ## The PCD is used to specify the high PMM (Post Memory Manager) size with bytes above 1MB.
193 # The value should be a multiple of 4KB.
194 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a