mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
1. Get support languages from "PlatformLangCodes" instead of front page string package. 2. BMP file may has padding data between the bmp header section and the bmp data section, but current code logic not consider this case, so the check is not valid for some bmp file. Refine the logic for this case. 3. Refine the code to avoid error report. 4. Follow UEFI spec, set TimeOut and HwErrRecSupport variable by EFI variable service instead of PcdSet(). 5. Remove BdsLibConnectConsoleVariableWithoutDispatch() and enhance BdsLibConnectDevicePath() to only call gDS->Dispatch() when the current TPL is TPL_APPLICATION. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14247 6f19259b-4bc3-4df7-8a09-765794883524
240 lines
14 KiB
Text
240 lines
14 KiB
Text
## @file
|
|
# Intel Framework Module Package contains the definitions and module implementation
|
|
# which follows Intel EFI Framework Specification.
|
|
#
|
|
# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
DEC_SPECIFICATION = 0x00010005
|
|
PACKAGE_NAME = IntelFrameworkModulePkg
|
|
PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF
|
|
PACKAGE_VERSION = 0.92
|
|
|
|
[Includes]
|
|
Include # Root include for the package
|
|
|
|
[LibraryClasses]
|
|
## @libraryclass Platform BDS library definition about platform specific behavior.
|
|
PlatformBdsLib|Include/Library/PlatformBdsLib.h
|
|
|
|
## @libraryclass Generic BDS library definition, include the data structure and function.
|
|
GenericBdsLib|Include/Library/GenericBdsLib.h
|
|
|
|
[Guids]
|
|
## IntelFrameworkModule package token space guid
|
|
# Include/Guid/IntelFrameworkModulePkgTokenSpace.h
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}
|
|
|
|
## GUID identifies Data Hub records logged by Status Code Runtime Protocol.
|
|
# Include/Guid/DataHubStatusCodeRecord.h
|
|
gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}
|
|
|
|
## GUID indicates the tiano custom compress/decompress algorithm.
|
|
# Include/Guid/TianoDecompress.h
|
|
gTianoCustomDecompressGuid = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}
|
|
|
|
## GUID indicates the LZMA custom compress/decompress algorithm.
|
|
# Include/Guid/LzmaDecompress.h
|
|
gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }}
|
|
|
|
## Include/Guid/AcpiVariable.h
|
|
gEfiAcpiVariableCompatiblityGuid = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a }}
|
|
|
|
## Include/Guid/LegacyBios.h
|
|
gEfiLegacyBiosGuid = { 0x2E3044AC, 0x879F, 0x490F, { 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50 }}
|
|
|
|
## Include/Guid/LegacyDevOrder.h
|
|
gEfiLegacyDevOrderVariableGuid = { 0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52 }}
|
|
|
|
## Include/Guid/CapsuleDataFile.h
|
|
gEfiUpdateDataFileGuid = { 0x283fa2ee, 0x532c, 0x484d, { 0x93, 0x83, 0x9f, 0x93, 0xb3, 0x6f, 0xb, 0x7e }}
|
|
|
|
## Include/Guid/BlockIoVendor.h
|
|
gBlockIoVendorGuid = { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b }}
|
|
|
|
## Include/Guid/BdsHii.h
|
|
gFrontPageFormSetGuid = { 0x9e0c30bc, 0x3f06, 0x4ba6, {0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }}
|
|
gBootManagerFormSetGuid = { 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b }}
|
|
gDeviceManagerFormSetGuid = { 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27 }}
|
|
gDriverHealthFormSetGuid = { 0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34 }}
|
|
gBootMaintFormSetGuid = { 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22 }}
|
|
gFileExploreFormSetGuid = { 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b }}
|
|
|
|
## Include/Guid/BdsLibHii.h
|
|
gBdsLibStringPackageGuid = { 0x3b4d9b23, 0x95ac, 0x44f6, {0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 }}
|
|
|
|
## Include/Guid/LastEnumLang.h
|
|
gLastEnumLangGuid = { 0xe8c545b, 0xa2ee, 0x470d, {0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 }}
|
|
|
|
## Include/Guid/HdBootVariable.h
|
|
gHdBootDevicePathVariablGuid = { 0xfab7e9e1, 0x39dd, 0x4f2b, {0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde }}
|
|
|
|
[Protocols]
|
|
## Vga Mini port binding for a VGA controller
|
|
# Include/Protocol/VgaMiniPort.h
|
|
gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}
|
|
|
|
## ISA I/O Protocol is used to perform ISA device Io/Mem operations.
|
|
# Include/Protocol/IsaIo.h
|
|
gEfiIsaIoProtocolGuid = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
|
|
|
|
## ISA Acpi Protocol is used to operate and communicate with ISA device.
|
|
# Include/Protocol/IsaAcpi.h
|
|
gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}
|
|
|
|
## PS/2 policy protocol abstracts the specific platform initialization and setting.
|
|
# Include/Protocol/Ps2Policy.h
|
|
gEfiPs2PolicyProtocolGuid = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }}
|
|
|
|
## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute.
|
|
# Include/Protocol/OEMBadging.h
|
|
gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}
|
|
|
|
## Include/Protocol/ExitPmAuth.h
|
|
gExitPmAuthProtocolGuid = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }}
|
|
|
|
[PcdsFeatureFlag]
|
|
## This PCD specifies whether StatusCode is reported via OEM device.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024
|
|
|
|
## This PCD specifies whether StatusCode is loged into DataHub.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029
|
|
|
|
## This PCD specifies whether Serial device use half hand shake.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043
|
|
|
|
## Indicates if CSM support is needed for ACPI S3 Save.
|
|
# If TRUE, CSM support is enclosed for ACPI S3 Save.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044
|
|
|
|
## This PCD specifies whether PS2 keyboard does a extended verification during start.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2KbdExtendedVerification|TRUE|BOOLEAN|0x00010045
|
|
|
|
## If TRUE, ACPI Support Protocol will be installed.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046
|
|
|
|
## This PCD specifies whether PS2 mouse does a extended verification during start.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification|TRUE|BOOLEAN|0x00010047
|
|
|
|
## This PCD specifies whether only Boot logo is showed and all message output is disabled in BDS
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048
|
|
|
|
[PcdsFixedAtBuild]
|
|
## FFS filename to find the default BMP Logo file.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003
|
|
|
|
## FFS filename to find the shell application.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004
|
|
|
|
## ISA bus related PCD to support DMA, SlaveDMA and ISA Memory features.
|
|
# BIT0 indicates if DMA is supported
|
|
# BIT1 indicates if only slave DMA is supported
|
|
# BIT2 indicates if ISA memory is supported
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040
|
|
|
|
[PcdsDynamic, PcdsDynamicEx]
|
|
## The PCD is used to mark whether the machine is in first boot cycle.
|
|
# TRUE means the machine is in first boot cycle. After completing the first boot,
|
|
# the PCD's value will be updated to FALSE.
|
|
# This PCD should be set as HII type PCD by platform integrator.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f
|
|
|
|
## Timeout value for displaying progressing bar in before boot OS.
|
|
# According to UEFI 2.0 spec, the default TimeOut should be 0xffff.
|
|
# This PCD should be set as HII type PCD by platform integrator mapped to variable L"TimeOut" and gEfiGlobalVariableGuid.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001
|
|
|
|
## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.
|
|
# This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport" and gEfiGlobalVariableGuid.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002
|
|
|
|
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
|
|
## The 4 PCDs below are used to specify the video resolution and text mode of text setup.
|
|
# To make text setup work in this resolution, PcdVideoHorizontalResolution, PcdVideoVerticalResolution,
|
|
# PcdConOutColumn and PcdConOutRow in MdeModulePkg.dec should be created as PcdsDynamic or PcdsDynamicEx
|
|
# in platform DSC file. Then BDS setup will update these PCDs defined in MdeModulePkg.dec and reconnect
|
|
# console drivers (GraphicsConsole, Terminal, Consplitter) to make the video resolution and text mode work
|
|
# for text setup.
|
|
|
|
## The PCD is used to specify the video horizontal resolution of text setup.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800|UINT32|0x50000001
|
|
|
|
## The PCD is used to specify the video vertical resolution of text setup.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600|UINT32|0x50000002
|
|
|
|
## The PCD is used to specify the console output column of text setup.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupConOutColumn|80|UINT32|0x50000003
|
|
|
|
## The PCD is used to specify the console output column of text setup.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x50000004
|
|
|
|
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
|
|
## I/O Base address of floppy device controller.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000
|
|
|
|
## If TRUE, BiosVideo will switch to 80x25 Text VGA Mode when exiting boot service.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001
|
|
|
|
## If TRUE, BiosVideo will check for VESA BIOS Extension service support.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002
|
|
|
|
## If TRUE, BiosVideo will check for VGA service support.
|
|
# NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE,
|
|
# that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003
|
|
|
|
## If TRUE, memory space for legacy region will be set as cacheable.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004
|
|
|
|
## The PCD is used to specify memory size with bytes to reserve EBDA for OPROM.
|
|
## The value should be a multiple of 4KB.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005
|
|
|
|
## The PCD is used to specify memory base address for OPROM to find free memory.
|
|
# Some OPROMs do not use EBDA or PMM to allocate memory for its usage,
|
|
# instead they find the memory filled with zero from 0x20000.
|
|
# The value should be a multiple of 4KB.
|
|
# The range should be below the EBDA reserved range from
|
|
# (CONVENTIONAL_MEMORY_TOP - PcdEbdaReservedMemorySize) to CONVENTIONAL_MEMORY_TOP.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c
|
|
|
|
## The PCD is used to specify memory size with bytes for OPROM to find free memory.
|
|
## The value should be a multiple of 4KB. And the range should be below the EBDA reserved range from
|
|
# (CONVENTIONAL_MEMORY_TOP - PcdEbdaReservedMemorySize) to CONVENTIONAL_MEMORY_TOP.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d
|
|
|
|
## The PCD is used to specify memory size with page number for a pre-allocated reserved memory to be used
|
|
# by PEI in S3 phase. The default size 32K. When changing the value of this PCD, the platform
|
|
# developer should make sure the memory size is large enough to meet PEI requiremnt in S3 phase.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006
|
|
|
|
## The PCD is used to specify memory size for boot script executor stack usage in S3 phase.
|
|
# The default size 32K. When changing the value of this PCD, the platform developer should
|
|
# make sure the memory size is large enough to meet boot script executor requiremnt in S3 phase.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize|0x8000|UINT32|0x30000007
|
|
|
|
## The PCD is used to specify the end of address below 1MB for the OPROM.
|
|
# The last shadowed OpROM should not exceed this address.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008
|
|
|
|
## The PCD is used to specify the low PMM (Post Memory Manager) size with bytes below 1MB.
|
|
# The value should be a multiple of 4KB.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009
|
|
|
|
## The PCD is used to specify the high PMM (Post Memory Manager) size with bytes above 1MB.
|
|
# The value should be a multiple of 4KB.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a
|
|
|
|
## This PCD specifies whether to use the optimized timing for best PS2 detection performance.
|
|
# Note this PCD could be set to TRUE for best boot performance and set to FALSE for best device compatibility.
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFastPS2Detection|FALSE|BOOLEAN|0x3000000b
|