X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FMdeModulePkg.dec;h=63297bb11b06cef2ab2134d704d68f7b1c083750;hb=4e03ff80a18fe856962e8eebcfe835dfcc6beefe;hp=d8a2d4c34bc00617ecfb41cc8e9307309fa76795;hpb=1ef267831621d709d685c6e65856bdf711ea7b79;p=mirror_edk2.git diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index d8a2d4c34b..63297bb11b 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -1,19 +1,17 @@ -## @file MdeModulePkg.dec +## @file MdeModulePkg.dec # -# This package provides the modules that conform to EFI/PI Industry standards. +# This package provides the modules that conform to UEFI/PI Industry standards. # It also provides the defintions(including PPIs/PROTOCOLs/GUIDs and library classes) # and libraries instances, which are used for those modules. # -# Copyright (c) 2007 - 2009, Intel Corporation. -# -# All rights reserved. -# This program and the accompanying materials are licensed and made available under -# the terms and conditions of the BSD License which accompanies this distribution. +# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
+# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that 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. +# 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. # ## @@ -22,13 +20,13 @@ DEC_SPECIFICATION = 0x00010005 PACKAGE_NAME = MdeModulePkg PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288 - PACKAGE_VERSION = 0.90 + PACKAGE_VERSION = 0.91 -[Includes.common] +[Includes] Include -[LibraryClasses.common] +[LibraryClasses] ## @libraryclass IpIo layer upon EFI IP4 Protocol. # This library is only intended to be used by UEFI network stack modules. IpIoLib|Include/Library/IpIoLib.h @@ -41,6 +39,10 @@ # This library is only intended to be used by UEFI network stack modules. UdpIoLib|Include/Library/UdpIoLib.h + ## @libraryclass The helper routines to access TCP service. + # This library is only intended to be used by UEFI network stack modules. + TcpIoLib|Include/Library/TcpIoLib.h + ## @libraryclass Defines a set of methods to reset whole system. ResetSystemLib|Include/Library/ResetSystemLib.h @@ -72,7 +74,19 @@ # SecurityManagementLib|MdeModulePkg/Include/Library/SecurityManagementLib.h -[Guids.common] + ## @libraryclass OEM status code libary is used to report status code to OEM device. + # + OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h + + ## @libraryclass Debug Agent is used to provide soft debug capability. + # + DebugAgentLib|Include/Library/DebugAgentLib.h + + ## @libraryclass Provide platform specific hooks. + # + PlatformHookLib|Include/Library/PlatformHookLib.h + +[Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h gEfiMdeModulePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }} @@ -131,7 +145,19 @@ ## Include/Guid/StatusCodeCallbackGuid.h gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}} -[Protocols.common] + ## GUID identifies status code records HOB that originate from the PEI status code + # Include/Guid/MemoryStatusCodeRecord.h + gMemoryStatusCodeRecordGuid = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }} + + ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI + # Include/Guid/StatusCodeDataTypeDebug.h + gEfiStatusCodeDataTypeDebugGuid = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }} + + ## A configuration Table Guid for Load module at fixed address + # Include/Guid/LoadModuleAtFixedAddress.h + gLoadFixedAddressConfigurationTableGuid = { 0x2CA88B53,0xD296,0x4080, { 0xA4,0xA5,0xCA,0xD9,0xBA,0xE2,0x4B,0x9 } } + +[Protocols] ## Load File protocol provides capability to load and unload EFI image into memory and execute it. # Include/Protocol/LoadPe32Image.h # This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image. @@ -153,9 +179,25 @@ # Include/Protocol/FaultTolerantWrite.h gEfiFaultTolerantWriteProtocolGuid = { 0x3EBD9E82, 0x2C78, 0x4DE6, { 0x97, 0x86, 0x8D, 0x4B, 0xFC, 0xB7, 0xC8, 0x81 }} + ## This protocol provides boot-time service to do fault tolerant write capability for block devices in SMM environment. + # Include/Protocol/SmmFaultTolerantWrite.h + gEfiSmmFaultTolerantWriteProtocolGuid = { 0x3868fc3b, 0x7e45, 0x43a7, { 0x90, 0x6c, 0x4b, 0xa4, 0x7d, 0xe1, 0x75, 0x4d }} + ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV. # Include/Protocol/SwapAddressRange.h gEfiSwapAddressRangeProtocolGuid = { 0x1259F60D, 0xB754, 0x468E, { 0xA7, 0x89, 0x4D, 0xB8, 0x5D, 0x55, 0xE8, 0x7E }} + + ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV in SMM environment. + # Include/Protocol/SmmSwapAddressRange.h + gEfiSmmSwapAddressRangeProtocolGuid = { 0x67c4f112, 0x3385, 0x4e55, { 0x9c, 0x5b, 0xc0, 0x5b, 0x71, 0x7c, 0x42, 0x28 }} + + ## This protocol is intended for use as a means to store data in the EFI SMM environment. + # Include/Protocol/SmmVariableProtocol.h + gEfiSmmVariableProtocolGuid = { 0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }} + + ## This protocol is similar with DXE FVB protocol and used in the UEFI SMM evvironment. + # Include/Protocol/SmmFirmwareVolumeBlock.h + gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }} [PcdsFeatureFlag] ## Indicate whether platform can support update capsule across a system reset @@ -203,9 +245,10 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|TRUE|BOOLEAN|0x00010044 ## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI - # interrupt to access usb device in the case of absence of usb stack. + # interrupt to access usb device in the case of absence of usb stack. + # DUET platform requires the token to be TRUE. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047 - + ## If TRUE, HiiImageProtocol will be installed. # FALSE is for size reduction. gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol|TRUE|BOOLEAN|0x00010100 @@ -235,20 +278,28 @@ ## This PCD specifies whether PciBus supports the hot plug device. gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d - ## This PCD specifies whether the Single Root I/O virtualization support. - gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044 - - ## This PCD specifies whether the Alternative Routing-ID support. - gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045 - - ## This PCD specifies whether the Multi Root I/O virtualization support. - gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046 - ## This PCD specifies whether the PCI bus driver probes non-standard, # such as 2K/1K/512, granularity for PCI to PCI bridge I/O window. - gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x10000047 - -[PcdsFeatureFlag.IA32] + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e + ## This PCD specifies whether StatusCode is reported via Serial port. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022 + + ## This PCD specifies whether StatusCode is stored in memory. + # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023 + + ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d + + ## This PCD specified whether ACPI SDT protocol is installed. + gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|FALSE|BOOLEAN|0x0001004d + + ## If TRUE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled. + # If FALSE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are disabled. + # The default value for this PCD is to disable support for unaligned PCI I/O Protocol requests. + gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable|FALSE|BOOLEAN|0x0001003e + +[PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64] ## # This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase. # If it is TRUE, DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore; @@ -321,6 +372,20 @@ # BIT0 set indicates 4KB alignment # BIT1 set indicates 8KB alignment gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047 + + ## Flag of enabling/disabling the feature of Loading Module at Fixed Address + # -1: Enable the feature as fixed offset to TOLM + # 0: Disable the feature. + # Positive Value: Enable the feature as fixed absolute address, and the value is the top memory address + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015 + + ## Smbios version + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055 + + ## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER) + # to handle all link layers. If the value is non zero, the PCD value will be used as block size. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026 [PcdsFixedAtBuild,PcdsPatchableInModule] ## Maximun number of performance log entries during PEI phase. @@ -329,6 +394,51 @@ ## RTC Update Timeout Value gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034 + ## If TRUE, then 16550 serial port registers are in MMIO space. + # If FALSE, then 16550 serial port registers are in I/O space. Default value. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE|BOOLEAN|0x00020000 + + ## If TRUE, then the 16550 serial port hardware flow control is enabled. + # If FALSE, then the 16550 serial port hardware flow control is disabled. Default value. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE|BOOLEAN|0x00020001 + + ## Base address of 16550 serial port registers in MMIO or I/O space. Default is 0x3F8. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8|UINT64|0x00020002 + + ## Baud rate for the 16550 serial port. Default is 115200 baud. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|115200|UINT32|0x00020003 + + ## Line Control Register (LCR) for the 16550 serial port. This encodes data bits, parity, and stop bits. + # BIT1..BIT0 - Data bits. 00b = 5 bits, 01b = 6 bits, 10b = 7 bits, 11b = 8 bits + # BIT2 - Stop Bits. 0 = 1 stop bit. 1 = 1.5 stop bits if 5 data bits selected, otherwise 2 stop bits. + # BIT5..BIT2 - Parity. xx0b = No Parity, 001b = Odd Parity, 011b = Even Parity, 101b = Mark Parity, 111b=Stick Parity + # BIT7..BIT6 - Reserved. Must be 0. + # + # Default is No Parity, 8 Data Bits, 1 Stop Bit. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03|UINT8|0x00020004 + + ## FIFO Control Register (FCR) for the 16550 serial port. + # BIT0 - FIFO Enable. 0 = Disable FIFOs. 1 = Enable FIFOs. + # BIT1 - Clear receive FIFO. 1 = Clear FIFO. + # BIT2 - Clear transmit FIFO. 1 = Clear FIFO. + # BIT7..BIT3 - Reserved. Must be 0. + # + # Default is to enable and clear all FIFOs. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07|UINT8|0x00020005 + + ## Maximum address that the DXE Core will allocate the EFI_SYSTEM_TABLE_POINTER + # structure. The default value for this PCD is 0, which means that the DXE Core + # will allocate the buffer from the EFI_SYSTEM_TABLE_POINTER structure on a 4MB + # boundary as close to the top of memory as feasible. If this PCD is set to a + # value other than 0, then the DXE Core will first attempt to allocate the + # EFI_SYSTEM_TABLE_POINTER structure on a 4MB boundary below the address specified + # by this PCD, and if that allocation fails, retry the allocation on a 4MB + # boundary as close to the top of memory as feasible. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress|0x0|UINT64|0x30001027 + [PcdsPatchableInModule,PcdsDynamic] ## This PCD defines the Console output column and the default value is 25 according to UEFI spec gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006 @@ -346,6 +456,15 @@ ## Base address of the FTW working block range in flash device. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010 + ## 64-bit Base address of the NV variable range in flash device + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0|UINT64|0x80000001 + + ## 64-bit Base address of the FTW spare block range in flash device. + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013 + + ## 64-bit Base address of the FTW working block range in flash device. + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010 + ## This PCD defines the print string. # This PCD is a sample to explain String typed PCD usage. gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004 @@ -354,21 +473,30 @@ # The range is valid if non-zero. The memory range size must be PcdVariableStoreSize. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008 + ## This PCD specifies whether the Single Root I/O virtualization support. + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044 + + ## This PCD specifies whether the Alternative Routing-ID support. + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045 + + ## This PCD specifies whether the Multi Root I/O virtualization support. + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046 + [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic] ## This PCD defines the times to print hello world string. # This PCD is a sample to explain FixedAtBuild UINT32 PCD usage. gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005 - ## Indicate the max size of the populated capsule image that the platform can support. + ## Indicate the max size of the capsule image with reset flag that the platform can support. # The default max size is 100MB (0x6400000) for more than one large capsule images. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e - ## Indicate the max size of the non-populated capsule image that the platform can support. - # The default max size is 10MB (0xa00000) for the casule image without populated flag setting. + ## Indicate the max size of the capsule image without reset flag that the platform can support. + # The default max size is 10MB (0xa00000) for the casule image without reset flag setting. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f ## Null-terminated Unicode string of the firmware vendor name that is default name filled into the EFI System Table - gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0xx00010050 + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0x00010050 ## Firmware revision that is default value filled into the EFI System Table gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|0x00010000|UINT32|0x00010051 @@ -379,3 +507,29 @@ ## Null-terminated Unicode string that contains the date the formware was released gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053 + ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true + # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size. + # The default value in PeiPhase is 1 KBytes. + # The default value in DxePhase is 128 KBytes. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054 + + ## This PCD specifies whether to reset system when memory type information changes. + gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056 + +[PcdsPatchableInModule] + ## Specify memory size with page number for PEI code when + # the feature of Loading Module at Fixed Address is enabled + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber|0|UINT32|0x00000029 + + ## Specify memory size with page number for DXE boot time code when + # the feature of Loading Module at Fixed Address is enabled + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber|0|UINT32|0x0000002a + + ## Specify memory size with page number for DXE runtime code when + # the feature of Loading Module at Fixed Address is enabled + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber|0|UINT32|0x0000002b + + ## Specify memory size with page number for SMM code when + # the feature of Loading Module at Fixed Address is enabled + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x0000002c +