-## @file MdeModulePkg.dec\r
+## @file MdeModulePkg.dec\r
#\r
-# This package provides the modules that conform to EFI/PI Industry standards.\r
+# This package provides the modules that conform to UEFI/PI Industry standards.\r
# It also provides the defintions(including PPIs/PROTOCOLs/GUIDs and library classes)\r
# and libraries instances, which are used for those modules.\r
#\r
-# Copyright (c) 2007 - 2009, Intel Corporation.\r
-#\r
-# All rights reserved.\r
-# This program and the accompanying materials are licensed and made available under\r
-# the terms and conditions of the BSD License which accompanies this distribution.\r
+# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials are licensed and made available under \r
+# the terms and conditions of the BSD License that accompanies this distribution. \r
# The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# http://opensource.org/licenses/bsd-license.php. \r
+# \r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
#\r
##\r
\r
DEC_SPECIFICATION = 0x00010005\r
PACKAGE_NAME = MdeModulePkg\r
PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288\r
- PACKAGE_VERSION = 0.90\r
+ PACKAGE_VERSION = 0.91\r
\r
-[Includes.common]\r
+[Includes]\r
Include\r
\r
\r
-[LibraryClasses.common]\r
+[LibraryClasses]\r
## @libraryclass IpIo layer upon EFI IP4 Protocol.\r
# This library is only intended to be used by UEFI network stack modules.\r
IpIoLib|Include/Library/IpIoLib.h\r
#\r
UefiHiiServicesLib|Include/Library/UefiHiiServicesLib.h\r
\r
-[Guids.common]\r
+ ## @libraryclass Provides a set of interfaces to abstract the policy of security measurement.\r
+ #\r
+ SecurityManagementLib|MdeModulePkg/Include/Library/SecurityManagementLib.h\r
+\r
+ ## @libraryclass OEM status code libary is used to report status code to OEM device.\r
+ #\r
+ OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h\r
+\r
+ ## @libraryclass Debug Agent is used to provide soft debug capability.\r
+ #\r
+ DebugAgentLib|Include/Library/DebugAgentLib.h\r
+\r
+[Guids]\r
## MdeModule package token space guid\r
# Include/Guid/MdeModulePkgTokenSpace.h\r
gEfiMdeModulePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}\r
## Include/Guid/NicIp4ConfigNvData.h\r
gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}\r
\r
-[Protocols.common]\r
+ ## Include/Guid/StatusCodeCallbackGuid.h\r
+ gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}\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 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
+ ## A configuration Table Guid for Load module at fixed address \r
+ # Include/Guid/LoadModuleAtFixedAddress.h\r
+ gLoadFixedAddressConfigurationTableGuid = { 0x2CA88B53,0xD296,0x4080, { 0xA4,0xA5,0xCA,0xD9,0xBA,0xE2,0x4B,0x9 } }\r
+\r
+[Protocols]\r
## Load File protocol provides capability to load and unload EFI image into memory and execute it.\r
# Include/Protocol/LoadPe32Image.h\r
# This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|TRUE|BOOLEAN|0x00010044\r
\r
## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI\r
- # interrupt to access usb device in the case of absence of usb stack.\r
+ # interrupt to access usb device in the case of absence of usb stack. \r
+ # DUET platform requires the token to be TRUE.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047\r
\r
## If TRUE, HiiImageProtocol will be installed.\r
# If FALSE, DXE IPL will not support UEFI decompression to save space.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|TRUE|BOOLEAN|0x0001200c\r
\r
-[PcdsFeatureFlag.IA32]\r
+ ## This PCD specifies whether PciBus supports the hot plug device.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d\r
+\r
+ ## This PCD specifies whether the PCI bus driver probes non-standard, \r
+ # such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e\r
+ ## This PCD specifies whether StatusCode is reported via Serial port.\r
+ gEfiMdeModulePkgTokenSpaceGuid.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
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023\r
+\r
+ ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d\r
+\r
+ ## This PCD specified whether ACPI SDT protocol is installed.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|FALSE|BOOLEAN|0x0001004d\r
+\r
+ ## If TRUE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled.\r
+ # If FALSE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are disabled.\r
+ # The default value for this PCD is to disable support for unaligned PCI I/O Protocol requests.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable|FALSE|BOOLEAN|0x0001003e\r
+ \r
+[PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64]\r
##\r
# This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase.\r
# If it is TRUE, DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore;\r
## FFS filename to find the ACPI tables\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|16\r
\r
+ ## Single root I/O virtualization virtual function memory BAR alignment\r
+ # BITN set indicates 2 of n+12 power\r
+ # BIT0 set indicates 4KB alignment\r
+ # BIT1 set indicates 8KB alignment\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047\r
+ \r
+ ## Flag of enabling/disabling the feature of Loading Module at Fixed Address \r
+ # -1: Enable the feature as fixed offset to TOLM\r
+ # 0: Disable the feature.\r
+ # Positive Value: Enable the feature as fixed absolute address, and the value is the top memory address \r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015\r
+ \r
+ ## Smbios version\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055\r
+\r
+ ## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER)\r
+ # to handle all link layers. If the value is non zero, the PCD value will be used as block size.\r
+ #\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026\r
+\r
[PcdsFixedAtBuild,PcdsPatchableInModule]\r
## Maximun number of performance log entries during PEI phase.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r
## RTC Update Timeout Value\r
gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034\r
\r
+ ## Maximum address that the DXE Core will allocate the EFI_SYSTEM_TABLE_POINTER\r
+ # structure. The default value for this PCD is 0, which means that the DXE Core\r
+ # will allocate the buffer from the EFI_SYSTEM_TABLE_POINTER structure on a 4MB\r
+ # boundary as close to the top of memory as feasible. If this PCD is set to a \r
+ # value other than 0, then the DXE Core will first attempt to allocate the \r
+ # EFI_SYSTEM_TABLE_POINTER structure on a 4MB boundary below the address specified\r
+ # by this PCD, and if that allocation fails, retry the allocation on a 4MB\r
+ # boundary as close to the top of memory as feasible.\r
+ #\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress|0x0|UINT64|0x30001027\r
+ \r
[PcdsPatchableInModule,PcdsDynamic]\r
## This PCD defines the Console output column and the default value is 25 according to UEFI spec\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006\r
## Base address of the FTW working block range in flash device.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r
\r
+ ## 64-bit Base address of the NV variable range in flash device\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0|UINT64|0x80000001\r
+\r
+ ## 64-bit Base address of the FTW spare block range in flash device.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013\r
+\r
+ ## 64-bit Base address of the FTW working block range in flash device.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010\r
+\r
## This PCD defines the print string.\r
# This PCD is a sample to explain String typed PCD usage.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004\r
# The range is valid if non-zero. The memory range size must be PcdVariableStoreSize.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008\r
\r
+ ## This PCD specifies whether the Single Root I/O virtualization support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044\r
+\r
+ ## This PCD specifies whether the Alternative Routing-ID support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045\r
+\r
+ ## This PCD specifies whether the Multi Root I/O virtualization support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046\r
+\r
[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]\r
## This PCD defines the times to print hello world string.\r
# This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r
\r
- ## Indicate the max size of the populated capsule image that the platform can support.\r
+ ## Indicate the max size of the capsule image with reset flag that the platform can support.\r
# The default max size is 100MB (0x6400000) for more than one large capsule images.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e\r
\r
- ## Indicate the max size of the non-populated capsule image that the platform can support.\r
- # The default max size is 10MB (0xa00000) for the casule image without populated flag setting.\r
+ ## Indicate the max size of the capsule image without reset flag that the platform can support.\r
+ # The default max size is 10MB (0xa00000) for the casule image without reset flag setting.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f\r
\r
## Null-terminated Unicode string of the firmware vendor name that is default name filled into the EFI System Table\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0xx00010050\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0x00010050\r
\r
## Firmware revision that is default value filled into the EFI System Table\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|0x00010000|UINT32|0x00010051\r
## Null-terminated Unicode string that contains the date the formware was released\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053\r
\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
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054\r
+\r
+ ## This PCD specifies whether to reset system when memory type information changes.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056\r
+\r
+[PcdsPatchableInModule]\r
+ ## Specify memory size with page number for PEI code when \r
+ # the feature of Loading Module at Fixed Address is enabled\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber|0|UINT32|0x00000029\r
+ \r
+ ## Specify memory size with page number for DXE boot time code when \r
+ # the feature of Loading Module at Fixed Address is enabled\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber|0|UINT32|0x0000002a\r
+ \r
+ ## Specify memory size with page number for DXE runtime code when \r
+ # the feature of Loading Module at Fixed Address is enabled\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber|0|UINT32|0x0000002b\r
+ \r
+ ## Specify memory size with page number for SMM code when \r
+ # the feature of Loading Module at Fixed Address is enabled\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x0000002c\r
+\r