## @file
# Intel Framework Module Package.
#
# This package contains the definitions and module implementation
# which follows Intel EFI Framework Specification.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
DEC_SPECIFICATION = 0x00010005
PACKAGE_NAME = IntelFrameworkModulePkg
PACKAGE_UNI_FILE = IntelFrameworkModulePkg.uni
PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF
PACKAGE_VERSION = 0.96
[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 }}
## 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 }}
## 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 }}
#
# [Error.gEfiIntelFrameworkModulePkgTokenSpaceGuid]
# 0x80000001 | Invalid value provided.
# 0x80000002 | Reserved bits must be set to zero.
#
[PcdsFeatureFlag]
## Indicates if OEM device is enabled as StatusCode report device.
# It is only used in Framework StatusCode implementation.
# TRUE - Enable OEM device.
# FALSE - Disable OEM device.
# @Prompt Report StatusCode via OEM Device
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024
## Indicates if StatusCode report is loged into DataHub.
# TRUE - Log StatusCode report into DataHub.
# FALSE - Does not log StatusCode report into DataHub.
# @Prompt Log StatusCode into DataHub
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029
## Indicates if Serial device uses half hand shake.
# TRUE - Serial device uses half hand shake.
# FALSE - Serial device doesn't use half hand shake.
# @Prompt Enable Serial device Half Hand Shake
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043
## Indicates if Legacy support is needed for ACPI S3 Save.
# TRUE - Support Legacy OS with S3 boot.
# FALSE - Does not support Legacy OS with S3 boot.
# @Prompt Turn on Legacy Support in S3 Boot
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044
## Indicates if Framework Acpi Support protocol is installed.
# TRUE - Install Framework Acpi Support protocol.
# FALSE - Doesn't install Framework Acpi Support protocol.
# @Prompt Enable Framework Acpi Support
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046
## Indicates if only Boot logo is showed and all message output is disabled in BDS.
# TRUE - Only Boot Logo is showed in boot.
# FALSE - All messages and Boot Logo are showed in boot.
# @Prompt Enable Boot Logo only
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048
[PcdsFixedAtBuild, PcdsPatchableInModule]
## FFS filename to find the default BMP Logo file.
# @Prompt FFS Name of Boot 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.
# @Prompt FFS Name of Shell Application
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004
## ISA Bus features to support DMA, SlaveDMA and ISA Memory.
# BIT0 indicates if DMA is supported
# BIT1 indicates if only slave DMA is supported
# BIT2 indicates if ISA memory is supported
# Other BITs are reseved and must be zero.
# If more than one features are supported, the different BIT will be enabled at the same time.
# @Prompt ISA Bus Features
# @Expression 0x80000002 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures & 0xF8) == 0
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040
[PcdsDynamic, PcdsDynamicEx]
## Indicates if the machine has completed one boot cycle before.
# After the complete boot, BootState will be set to FALSE.
# TRUE - The complete boot cycle has not happened before.
# FALSE - The complete boot cycle has happened before.
# @Prompt Boot State Flag
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
## I/O Base address of floppy device controller.
# @Prompt I/O Base Address of Floppy Device Controller
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000
## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when exiting boot service.
# TRUE - Switch to Text VGA Mode.
# FALSE - Does not switch to Text VGA Mode.
# @Prompt Switch to Text VGA Mode on UEFI Boot
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001
## Indicates if BiosVideo driver will check for VESA BIOS Extension service support.
# TRUE - Check for VESA BIOS Extension service.
# FALSE - Does not check for VESA BIOS Extension service.
# @Prompt Enable Check for VESA BIOS Extension Service
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002
## Indicates if BiosVideo driver 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.
# TRUE - Check for VGA service.
# FALSE - Does not check for VGA service.
# @Prompt Enable Check for VGA Service
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003
## Indicates if memory space for legacy region will be set as cacheable.
# TRUE - Set cachebility for legacy region.
# FALSE - Does not set cachebility for legacy region.
# @Prompt Enable Cachebility for Legacy Region
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004
## Specify memory size with bytes to reserve EBDA below 640K for OPROM.
# The value should be a multiple of 4KB.
# @Prompt Reserved EBDA Memory Size
# @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize < 0xA0000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize & 0x1000) == 0)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005
## 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 - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.
# @Prompt Reserved Memory Base Address for OPROM
# @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase >= 0x20000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase & 0x1000) == 0)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c
## 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 - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.
# @Prompt Reserved Memory Size for OPROM
# @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize < 0x80000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize & 0x1000) == 0)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d
## 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 make sure the memory size
# is large enough to meet PEI requirement in the S3 phase.
# @Prompt Reserved S3 Boot ACPI Memory Size
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006
## Specify the end of address below 1MB for the OPROM.
# The last shadowed OpROM should not exceed this address.
# @Prompt Top Address of Shadowed Legacy OpROM
# @Expression 0x80000001 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress < 0x100000
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008
## Specify the low PMM (Post Memory Manager) size with bytes below 1MB.
# The value should be a multiple of 4KB.
# @Prompt Low PMM (Post Memory Manager) Size
# @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize < 0x100000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize & 0x1000) == 0)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009
## Specify the high PMM (Post Memory Manager) size with bytes above 1MB.
# The value should be a multiple of 4KB.
# @Prompt High PMM (Post Memory Manager) Size
# @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize & 0x1000) == 0
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a
[UserExtensions.TianoCore."ExtraFiles"]
IntelFrameworkModulePkgExtra.uni