#/** @file\r
-# Intel Framework Module Package Reference Implementations\r
+# Intel Framework Module Package contains the definitions and module implementation\r
+# which follows Intel EFI Framework Specification.\r
#\r
-# This Module provides standard reference information for EFI/Tiano implementations.\r
-# Copyright (c) 2007, Intel Corporation.\r
+# Copyright (c) 2007 - 2009, Intel Corporation.\r
#\r
# All rights reserved. This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
Include # Root include for the package\r
\r
[LibraryClasses.common]\r
- PciIncompatibleDeviceSupportLib|Include/Library/PciIncompatibleDeviceSupportLib.h\r
+ ## @libraryclass OEM status code libary is used to report status code to OEM device.\r
OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h\r
\r
## @libraryclass Platform BDS library definition about platform specific behavior.\r
PlatformBdsLib|Include/Library/PlatformBdsLib.h\r
- \r
+\r
## @libraryclass Generic BDS library definition, include the data structure and function.\r
GenericBdsLib|Include/Library/GenericBdsLib.h\r
\r
[Guids.common]\r
+ ## IntelFrameworkModule package token space guid\r
+ ## Include/Guid/IntelFrameworkModulePkgTokenSpace.h\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}\r
+ \r
+ ## GUID identifies status code records HOB that originate from the PEI status code \r
## Include/Guid/MemoryStatusCodeRecord.h \r
gMemoryStatusCodeRecordGuid = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}\r
\r
+ ## GUID identifies Data Hub records logged by Status Code Runtime Protocol.\r
## Include/Guid/DataHubStatusCodeRecord.h\r
gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}\r
\r
- ## Include/Guid/PciOptionRomTable.h\r
- gEfiPciOptionRomTableGuid = { 0x7462660F, 0x1CBD, 0x48DA, { 0xAD, 0x11, 0x91, 0x71, 0x79, 0x13, 0x83, 0x1C }}\r
- \r
- ## Include/Guid/PciHotplugDevice.h\r
- gEfiPciHotplugDeviceGuid = { 0x0B280816, 0x52E7, 0x4E51, { 0xAA, 0x57, 0x11, 0xBD, 0x41, 0xCB, 0xEF, 0xC3 }}\r
-\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}\r
- \r
- ## Include/Guid/CustomDecompress.h\r
+ ## GUID indicates the tiano custom compress/decompress algorithm.\r
+ ## Include/Guid/TianoDecompress.h\r
gTianoCustomDecompressGuid = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}\r
\r
+ ## GUID indicates the LZMA custom compress/decompress algorithm.\r
## Include/Guid/LzmaDecompress.h\r
gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }}\r
\r
## Include/Guid/ShellFile.h\r
gEfiShellFileGuid = { 0xC57AD6B7, 0x0515, 0x40A8, { 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }}\r
\r
+ ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI\r
+ ## Include/Guid/StatusCodeDataTypeDebug.h\r
+ gEfiStatusCodeDataTypeDebugGuid = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }}\r
\r
## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Usb interface.\r
## Include/Protocol/DiskInfo.h\r
gEfiDiskInfoAhciInterfaceGuid = { 0x9e498932, 0x4abc, 0x45af, { 0xa3, 0x4d, 0x02, 0x47, 0x78, 0x7b, 0xe7, 0xc6 }}\r
\r
[Protocols.common]\r
+ ## This protocol is used to add or remove all PCI child devices on the PCI root bridge.\r
## Include/Protocol/PciHotPlugRequest.h\r
gEfiPciHotPlugRequestProtocolGuid = { 0x19CB87AB, 0x2CB9, 0x4665, { 0x83, 0x60, 0xDD, 0xCF, 0x60, 0x54, 0xF7, 0x9D }}\r
\r
+ ## Vga Mini port binding for a VGA controller\r
## Include/Protocol/VgaMiniPort.h\r
gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}\r
\r
+ ## ISA I/O Protocol is used to perform ISA device Io/Mem operations.\r
## Include/Protocol/IsaIo.h\r
gEfiIsaIoProtocolGuid = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}\r
\r
+ ## ISA Acpi Protocol is used to operate and communicate with ISA device.\r
## Include/Protocol/IsaAcpi.h\r
gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}\r
\r
+ ## PS/2 policy protocol abstracts the specific platform initialization and setting.\r
## Include/Protocol/Ps2Policy.h\r
gEfiPs2PolicyProtocolGuid = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }}\r
\r
## Include/Protocol/OEMBadging.h\r
gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}\r
\r
-[PcdsDynamic.common]\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f\r
- \r
- ## Timeout value for displaying progressing bar in before boot OS.\r
- # According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff.\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001\r
-\r
- ## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.\r
- # This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002\r
- \r
-[PcdsFeatureFlag.common]\r
+[PcdsFeatureFlag]\r
+ ## This PCD specifies whether StatusCode is reported via Serial port.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022\r
+\r
+ ## This PCD specifies whether StatusCode is stored in memory.\r
+ # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023\r
+\r
+ ## This PCD specifies whether StatusCode is reported via OEM device.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseEfiSerial|FALSE|BOOLEAN|0x00010026\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE|BOOLEAN|0x00010027\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseRuntimeMemory|FALSE|BOOLEAN|0x00010028\r
+\r
+ ## This PCD specifies whether StatusCode is loged into DataHub.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeReplayInSerial|FALSE|BOOLEAN|0x0001002a\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeReplayInRuntimeMemory|FALSE|BOOLEAN|0x0001002b\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeReplayInDataHub|FALSE|BOOLEAN|0x0001002c\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeReplayInOEM|FALSE|BOOLEAN|0x0001002d\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciIsaEnable|FALSE|BOOLEAN|0x00010039\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciVgaEnable|FALSE|BOOLEAN|0x0001003a\r
+\r
+ ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d\r
+ \r
+ ## This PCD specifies whether PciBus supports the hot plug device.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d\r
+ \r
+ ## ISA bus related PCDs to support DMA, SlaveDMA and Memory feature.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportDma|TRUE|BOOLEAN|0x00010040\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusOnlySupportSlaveDma|FALSE|BOOLEAN|0x00010041\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportIsaMemory|TRUE|BOOLEAN|0x00010042\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciCfgDisable|FALSE|BOOLEAN|0x00010043\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciCfg2Disable|FALSE|BOOLEAN|0x00010044\r
\r
-[PcdsFixedAtBuild.common]\r
+[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]\r
+ ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true\r
+ # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.\r
+ # The default value in PeiPhase is 1 KBytes.\r
+ # The default value in DxePhase is 128 KBytes.\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPciIncompatibleDeviceSupportMask|0|UINT8|0x0001003f\r
\r
-[PcdsPatchableInModule.common]\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e\r
+ ## This PCD specifies whether Serial device use half hand shake.\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043\r
\r
+[PcdsDynamic]\r
+ ## PCD is used to mark if the machine has complete one boot cycle before.\r
+ # After the complete boot, the variable BootState will be set to TRUE. \r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f\r
+ \r
+ ## Timeout value for displaying progressing bar in before boot OS.\r
+ # According to UEFI 2.0 spec, the default TimeOut should be 0xffff.\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001\r
+\r
+ ## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.\r
+ # This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002\r