## @file MdeModulePkg.dec\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
+# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library classes)\r
# and libraries instances, which are used for those modules.\r
#\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2015, 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
PACKAGE_NAME = MdeModulePkg\r
PACKAGE_UNI_FILE = MdeModulePkg.uni\r
PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288\r
- PACKAGE_VERSION = 0.94\r
+ PACKAGE_VERSION = 0.96\r
\r
[Includes]\r
Include\r
#\r
CustomizedDisplayLib|Include/Library/CustomizedDisplayLib.h\r
\r
+ ## @libraryclass Provides sorting functions\r
+ SortLib|Include/Library/SortLib.h\r
+\r
+ ## @libraryclass Provides core boot manager functions\r
+ UefiBootManagerLib|Include/Library/UefiBootManagerLib.h\r
+\r
+ ## @libraryclass Provides core boot manager functions\r
+ PlatformBootManagerLib|Include/Library/PlatformBootManagerLib.h\r
+\r
[Guids]\r
## MdeModule package token space guid\r
# Include/Guid/MdeModulePkgTokenSpace.h\r
\r
## Include/Guid/StatusCodeDataTypeVariable.h\r
gEdkiiStatusCodeDataTypeVariableGuid = { 0xf6ee6dbb, 0xd67f, 0x4ea0, { 0x8b, 0x96, 0x6a, 0x71, 0xb1, 0x9d, 0x84, 0xad }}\r
+ \r
+ ## Include/Guid/MemoryProfile.h\r
+ gEdkiiMemoryProfileGuid = { 0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe }}\r
+\r
+ ## Include/Protocol/VarErrorFlag.h\r
+ gEdkiiVarErrorFlagGuid = { 0x4b37fe8, 0xf6ae, 0x480b, { 0xbd, 0xd5, 0x37, 0xd9, 0x8c, 0x5e, 0x89, 0xaa } }\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
+ gLzmaF86CustomDecompressGuid = { 0xD42AE6BD, 0x1352, 0x4bfb, { 0x90, 0x9A, 0xCA, 0x72, 0xA6, 0xEA, 0xE8, 0x89 }}\r
\r
[Ppis]\r
## Include/Ppi/AtaController.h\r
## Include/Ppi/SerialPortPei.h\r
gPeiSerialPortPpiGuid = { 0x490e9d85, 0x8aef, 0x4193, { 0x8e, 0x56, 0xf7, 0x34, 0xa9, 0xff, 0xac, 0x8b}}\r
\r
+ ## Include/Ppi/UfsHostController.h\r
+ gEdkiiPeiUfsHostControllerPpiGuid = { 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 }}\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
# Include/Protocol/VariableLock.h\r
gEdkiiVariableLockProtocolGuid = { 0xcd3d0a05, 0x9e24, 0x437c, { 0xa8, 0x91, 0x1e, 0xe0, 0x53, 0xdb, 0x76, 0x38 }}\r
\r
+ ## Include/Protocol/VarCheck.h\r
+ gEdkiiVarCheckProtocolGuid = { 0xaf23b340, 0x97b4, 0x4685, { 0x8d, 0x4f, 0xa3, 0xf2, 0x81, 0x69, 0xb2, 0x1d } }\r
+\r
+ ## Include/Protocol/SmmVarCheck.h\r
+ gEdkiiSmmVarCheckProtocolGuid = { 0xb0d8f3c1, 0xb7de, 0x4c11, { 0xbc, 0x89, 0x2f, 0xb5, 0x62, 0xc8, 0xc4, 0x11 } }\r
+\r
## This protocol is similar with DXE FVB protocol and used in the UEFI SMM evvironment.\r
# Include/Protocol/SmmFirmwareVolumeBlock.h\r
gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }}\r
## Include/Protocol/FormBrowserEx2.h\r
gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } }\r
\r
+ ## Include/Protocol/UfsHostController.h\r
+ gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } }\r
+\r
#\r
# [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
# 0x80000001 | Invalid value provided.\r
# DUET platform requires the token to be TRUE.<BR><BR>\r
# TRUE - Turn off usb legacy support.<BR>\r
# FALSE - Does not turn off usb legacy support.<BR>\r
- # @Prompt Turn off usb legacy support.\r
+ # @Prompt Turn off USB legacy support.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047\r
\r
## Indicates if HiiImageProtocol will be installed.\r
# @Prompt Max PEI PCD callback number per PCD entry.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x08|UINT32|0x0001000f\r
\r
- ## VPD type PCD allow developer point an absoluted physical address PcdVpdBaseAddress\r
+ ## VPD type PCD allows a developer to point to an absolute physical address PcdVpdBaseAddress\r
# to store PCD value.\r
# @Prompt VPD base address.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0|UINT32|0x00010010\r
# @Prompt Maximum HwErr variable size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004\r
\r
- ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize.\r
+ ## The size of reserved HwErr variable space. Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER)).\r
# In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.\r
- # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.\r
+ # so the platform integrator should ensure this value is less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER)).\r
# this value is used to guarantee the space of HwErr type variable and not populated by common variable.\r
# @Prompt HwErr variable storage size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006\r
\r
+ ## The size of maximum user NV variable space.<BR><BR>\r
+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).<BR>\r
+ # If the value is 0, it means user variable share the same NV storage with system variable,\r
+ # this is designed to keep the compatibility for the platform that does not allocate special region for user variable.<BR>\r
+ # If the value is non-0, the below 4 types of variables will be regarded as System Variable after EndOfDxe, their property could be got by VarCheck protocol,\r
+ # otherwise the variable will be regarded as user variable.<BR>\r
+ # 1) UEFI defined variables (gEfiGlobalVariableGuid and gEfiImageSecurityDatabaseGuid(auth variable) variables at least).<BR>\r
+ # 2) Variables managed by Variable driver internally.<BR>\r
+ # 3) Variables need to be locked, they MUST be set by VariableLock protocol.<BR>\r
+ # 4) Important variables during platform boot, their property SHOULD be set by VarCheck protocol.<BR>\r
+ # The PCD is used to guarantee the space of system variable and not populated by user variable.<BR>\r
+ # @Prompt Maximum user NV variable space size.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize|0x00|UINT32|0x00000009\r
+\r
+ ## The size of NV variable space reserved at UEFI boottime.<BR><BR>\r
+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).<BR>\r
+ # In EdkII implementation, variable driver can reserved some NV storage region for boottime settings.\r
+ # So at UEFI runtime, the variable service consumer can not exhaust full NV storage region.<BR>\r
+ # Then the common NV variable space size at boottime will be\r
+ # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize),<BR>\r
+ # and the common NV variable space size at runtime will be\r
+ # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize) - PcdBoottimeReservedNvVariableSpaceSize.<BR>\r
+ # @Prompt Boottime reserved NV variable space size.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize|0x00|UINT32|0x30000007\r
+\r
+ ## Reclaim variable space at EndOfDxe.<BR><BR>\r
+ # The value is FALSE as default for compatibility that variable driver tries to reclaim variable space at ReadyToBoot event.<BR>\r
+ # If the value is set to TRUE, variable driver tries to reclaim variable space at EndOfDxe event.<BR>\r
+ # @Prompt Reclaim variable space at EndOfDxe.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe|FALSE|BOOLEAN|0x30000008\r
+\r
## The size of volatile buffer. This buffer is used to store VOLATILE attribute variables.\r
# @Prompt Variable storage size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005\r
# @Prompt FFS name of capsule coalesce image.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile|{ 0xA6, 0xE4, 0xFD, 0xF7, 0x4C, 0x29, 0x3c, 0x49, 0xB5, 0x0F, 0x97, 0x34, 0x55, 0x3B, 0xB7, 0x57 }|VOID*|0x30000017\r
\r
- ## Maximun number of performance log entries during PEI phase.\r
- # @Prompt Maximun number of PEI performance log entries.\r
+ ## Maximum number of performance log entries during PEI phase.\r
+ # @Prompt Maximum number of PEI performance log entries.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r
\r
## RTC Update Timeout Value(microsecond).\r
# @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl & 0xD8) == 0\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07|UINT8|0x00020005\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
+ ## This setting can override the default TFTP block size. A value of 0 computes\r
+ # the default from MTU information. A non-zero value will be used as block size\r
+ # in bytes.\r
# @Prompt TFTP block size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026\r
\r
# @Prompt Default Creator Revision for ACPI table creation.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038\r
\r
+ ## The mask is used to control memory profile behavior.<BR><BR>\r
+ # BIT0 - Enable UEFI memory profile.<BR>\r
+ # BIT1 - Enable SMRAM profile.<BR>\r
+ # @Prompt Memory Profile Property.\r
+ # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask & 0xFC) == 0\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask|0x0|UINT8|0x30001041\r
+\r
+ ## This flag is to control which memory types of alloc info will be recorded by DxeCore & SmmCore.<BR><BR>\r
+ # For SmmCore, only EfiRuntimeServicesCode and EfiRuntimeServicesData are valid.<BR>\r
+ #\r
+ # Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\r
+ # EfiReservedMemoryType 0x0001<BR>\r
+ # EfiLoaderCode 0x0002<BR>\r
+ # EfiLoaderData 0x0004<BR>\r
+ # EfiBootServicesCode 0x0008<BR>\r
+ # EfiBootServicesData 0x0010<BR>\r
+ # EfiRuntimeServicesCode 0x0020<BR>\r
+ # EfiRuntimeServicesData 0x0040<BR>\r
+ # EfiConventionalMemory 0x0080<BR>\r
+ # EfiUnusableMemory 0x0100<BR>\r
+ # EfiACPIReclaimMemory 0x0200<BR>\r
+ # EfiACPIMemoryNVS 0x0400<BR>\r
+ # EfiMemoryMappedIO 0x0800<BR>\r
+ # EfiMemoryMappedIOPortSpace 0x1000<BR>\r
+ # EfiPalCode 0x2000<BR>\r
+ # EfiPersistentMemory 0x4000<BR>\r
+ # OS Reserved 0x8000000000000000<BR>\r
+ #\r
+ # e.g. Reserved+ACPINvs+ACPIReclaim+RuntimeCode+RuntimeData are needed, 0x661 should be used.<BR>\r
+ #\r
+ # @Prompt Memory profile memory type.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType|0x0|UINT64|0x30001042\r
+\r
## UART clock frequency is for the baud rate configuration.\r
- # @Prompt Serial Port Clock Rate\r
+ # @Prompt Serial Port Clock Rate.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066\r
\r
## PCI Serial Device Info. It is an array of Device, Function, and Power Management\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xFF}|VOID*|0x00010067\r
\r
## Serial Port Extended Transmit FIFO Size. The default is 64 bytes. \r
- # @Prompt Pci Port Extended Transmit FIFO Size in Bytes\r
+ # @Prompt Serial Port Extended Transmit FIFO Size in Bytes\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64|UINT32|0x00010068\r
+\r
+ ## This PCD points to the file name GUID of the BootManagerMenuApp\r
+ # Platform can customize the PCD to point to different application for Boot Manager Menu\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0xdc, 0x5b, 0xc2, 0xee, 0xf2, 0x67, 0x95, 0x4d, 0xb1, 0xd5, 0xf8, 0x1b, 0x20, 0x39, 0xd1, 0x1d }|VOID*|0x0001006b\r
+\r
+ ## This PCD points to the formset GUID of the driver health management form\r
+ # The form will be popped up by BDS core when there are Configuration Required driver health intances.\r
+ # Platform can customize the PCD to point to different formset.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDriverHealthConfigureForm|{ 0xf4, 0xd9, 0x96, 0x42, 0xfc, 0xf6, 0xde, 0x4d, 0x86, 0x85, 0x8c, 0xe2, 0xd7, 0x9d, 0x90, 0xf0 }|VOID*|0x0001006c\r
+\r
+ ## The number of bytes between registers in serial device. The default is 1 byte.\r
+ # @Prompt Serial Port Register Stride in Bytes\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006B\r
\r
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
## This PCD defines the Console output row. The default value is 25 according to UEFI spec.\r
# @Prompt Video vertical resolution.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600|UINT32|0x4000000a\r
\r
+ # The 4 PCDs below are used to specify the video resolution and text mode of text setup.\r
+ # To make text setup work in this resolution, PcdVideoHorizontalResolution, PcdVideoVerticalResolution,\r
+ # PcdConOutColumn and PcdConOutRow should be created as PcdsDynamic or PcdsDynamicEx in platform DSC file.\r
+ # Then BDS setup will update these PCDs defined in MdeModulePkg.dec and reconnect console drivers\r
+ # (GraphicsConsole, Terminal, Consplitter) to make the video resolution and text mode work\r
+ # for text setup.\r
+\r
+ ## Specify the video horizontal resolution of text setup.\r
+ # @Prompt Video Horizontal Resolution of Text Setup\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800|UINT32|0x4000000b\r
+\r
+ ## Specify the video vertical resolution of text setup.\r
+ # @Prompt Video Vertical Resolution of Text Setup\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600|UINT32|0x4000000c\r
+\r
+ ## Specify the console output column of text setup.\r
+ # @Prompt Console Output Column of Text Setup\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|80|UINT32|0x4000000d\r
+\r
+ ## Specify the console output row of text setup.\r
+ # @Prompt Console Output Row of Text Setup\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e\r
+\r
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
## Base address of the NV variable range in flash device.\r
# @Prompt Base address of flash NV variable range.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014\r
\r
## Base address of the FTW working block range in flash device.\r
+ # If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this value should be block size aligned.\r
# @Prompt Base address of flash FTW working block range.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r
\r
## Size of the FTW working block range.\r
+ # If the value is less than one block size, the work space range should not span blocks.\r
+ # If the value is larger than one block size, it should be block size aligned.\r
# @Prompt Size of flash FTW working block range.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011\r
\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013\r
\r
## 64-bit Base address of the FTW working block range in flash device.\r
+ # If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this value should be block size aligned.\r
# @Prompt 64-bit Base address of flash FTW working block range.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010\r
\r
# @Prompt SRIOV system page size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047\r
\r
- ## Smbios version.\r
- # @Prompt Smbios version.\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0207|UINT16|0x00010055\r
+ ## SMBIOS version.\r
+ # @Prompt SMBIOS version.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300|UINT16|0x00010055\r
+\r
+ ## SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure.\r
+ # @Prompt SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0|UINT8|0x0001006A\r
+\r
+ ## SMBIOS produce method.\r
+ # BIT0 set indicates 32-bit entry point and table are produced.<BR>\r
+ # BIT1 set indicates 64-bit entry point and table are produced.<BR>\r
+ # @Prompt The policy to produce SMBIOS entry point and table.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x3|UINT32|0x00010069\r
\r
## This PCD specifies the additional pad size in FPDT Basic Boot Performance Table for\r
# the extension FPDT boot records received after ReadyToBoot and before ExitBootService.\r
# @Prompt Disk I/O - Number of Data Buffer block.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDiskIoDataBufferBlockNum|64|UINT32|0x30001039\r
\r
+ ## This PCD specifies the PCI-based UFS host controller mmio base address.\r
+ # Define the mmio base address of the pci-based UFS host controller. If there are multiple UFS\r
+ # host controllers, their mmio base addresses are calculated one by one from this base address.\r
+ # @Prompt Mmio base address of pci-based UFS host controller.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUfsPciHostControllerMmioBase|0xd0000000|UINT32|0x10000061\r
+\r
[PcdsPatchableInModule]\r
## Specify memory size with page number for PEI code when\r
# Loading Module at Fixed Address feature is enabled.\r