X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FMdeModulePkg.dec;h=75e37df805e358bcc8b25c56fb9cd77f29c00de8;hb=cc63add853d4b5c16b74b4d4ceb59c015a2adcc4;hp=2e7e461c0f69f6fb02920f5b9d319ac265be5306;hpb=ae591c14b333757a33768e80481bc301b8855686;p=mirror_edk2.git
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 2e7e461c0f..75e37df805 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -20,7 +20,7 @@
PACKAGE_NAME = MdeModulePkg
PACKAGE_UNI_FILE = MdeModulePkg.uni
PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288
- PACKAGE_VERSION = 0.94
+ PACKAGE_VERSION = 0.96
[Includes]
Include
@@ -105,6 +105,12 @@
## @libraryclass Provides sorting functions
SortLib|Include/Library/SortLib.h
+ ## @libraryclass Provides core boot manager functions
+ UefiBootManagerLib|Include/Library/UefiBootManagerLib.h
+
+ ## @libraryclass Provides core boot manager functions
+ PlatformBootManagerLib|Include/Library/PlatformBootManagerLib.h
+
[Guids]
## MdeModule package token space guid
# Include/Guid/MdeModulePkgTokenSpace.h
@@ -279,6 +285,14 @@
## Include/Guid/MemoryProfile.h
gEdkiiMemoryProfileGuid = { 0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe }}
+ ## Include/Protocol/VarErrorFlag.h
+ gEdkiiVarErrorFlagGuid = { 0x4b37fe8, 0xf6ae, 0x480b, { 0xbd, 0xd5, 0x37, 0xd9, 0x8c, 0x5e, 0x89, 0xaa } }
+
+ ## GUID indicates the LZMA custom compress/decompress algorithm.
+ # Include/Guid/LzmaDecompress.h
+ gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }}
+ gLzmaF86CustomDecompressGuid = { 0xD42AE6BD, 0x1352, 0x4bfb, { 0x90, 0x9A, 0xCA, 0x72, 0xA6, 0xEA, 0xE8, 0x89 }}
+
[Ppis]
## Include/Ppi/AtaController.h
gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }}
@@ -295,9 +309,6 @@
## Include/Ppi/UsbIo.h
gPeiUsbIoPpiGuid = { 0x7C29785C, 0x66B9, 0x49FC, { 0xB7, 0x97, 0x1C, 0xA5, 0x55, 0x0E, 0xF2, 0x83 }}
- ## Include/Ppi/Capsule.h
- gPeiCapsulePpiGuid = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}
-
## Include/Ppi/SecPerformance.h
gPeiSecPerformancePpiGuid = { 0x0ecc666b, 0x4662, 0x47f9, { 0x9d, 0xd5, 0xd0, 0x96, 0xff, 0x7d, 0xa4, 0x9e }}
@@ -316,6 +327,9 @@
## Include/Ppi/SerialPortPei.h
gPeiSerialPortPpiGuid = { 0x490e9d85, 0x8aef, 0x4193, { 0x8e, 0x56, 0xf7, 0x34, 0xa9, 0xff, 0xac, 0x8b}}
+ ## Include/Ppi/UfsHostController.h
+ gEdkiiPeiUfsHostControllerPpiGuid = { 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 }}
+
[Protocols]
## Load File protocol provides capability to load and unload EFI image into memory and execute it.
# Include/Protocol/LoadPe32Image.h
@@ -393,6 +407,12 @@
## Include/Protocol/FormBrowserEx2.h
gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } }
+ ## Include/Protocol/UfsHostController.h
+ gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } }
+
+ ## Include/Protocol/EsrtManagement.h
+ gEsrtManagementProtocolGuid = { 0xa340c064, 0x723c, 0x4a9c, { 0xa4, 0xdd, 0xd5, 0xb4, 0x7a, 0x26, 0xfb, 0xb0 }}
+
#
# [Error.gEfiMdeModulePkgTokenSpaceGuid]
# 0x80000001 | Invalid value provided.
@@ -697,19 +717,55 @@
# @Prompt Maximum variable size.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003
+ ## The maximum size of a single authenticated variable.
+ # The value is 0 as default for compatibility that maximum authenticated variable size is specified by PcdMaxVariableSize.
+ # @Prompt Maximum authenticated variable size.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x00|UINT32|0x30000009
+
## The maximum size of single hardware error record variable.
# In IA32/X64 platforms, this value should be larger than 1KB.
# In IA64 platforms, this value should be larger than 128KB.
# @Prompt Maximum HwErr variable size.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004
- ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize.
+ ## 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)).
# In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.
- # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.
+ # so the platform integrator should ensure this value is less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER)).
# this value is used to guarantee the space of HwErr type variable and not populated by common variable.
# @Prompt HwErr variable storage size.
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006
+ ## The size of maximum user NV variable space.
+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).
+ # If the value is 0, it means user variable share the same NV storage with system variable,
+ # this is designed to keep the compatibility for the platform that does not allocate special region for user variable.
+ # 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,
+ # otherwise the variable will be regarded as user variable.
+ # 1) UEFI defined variables (gEfiGlobalVariableGuid and gEfiImageSecurityDatabaseGuid(auth variable) variables at least).
+ # 2) Variables managed by Variable driver internally.
+ # 3) Variables need to be locked, they MUST be set by VariableLock protocol.
+ # 4) Important variables during platform boot, their property SHOULD be set by VarCheck protocol.
+ # The PCD is used to guarantee the space of system variable and not populated by user variable.
+ # @Prompt Maximum user NV variable space size.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize|0x00|UINT32|0x00000009
+
+ ## The size of NV variable space reserved at UEFI boottime.
+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).
+ # In EdkII implementation, variable driver can reserved some NV storage region for boottime settings.
+ # So at UEFI runtime, the variable service consumer can not exhaust full NV storage region.
+ # Then the common NV variable space size at boottime will be
+ # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize),
+ # and the common NV variable space size at runtime will be
+ # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize) - PcdBoottimeReservedNvVariableSpaceSize.
+ # @Prompt Boottime reserved NV variable space size.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize|0x00|UINT32|0x30000007
+
+ ## Reclaim variable space at EndOfDxe.
+ # The value is FALSE as default for compatibility that variable driver tries to reclaim variable space at ReadyToBoot event.
+ # If the value is set to TRUE, variable driver tries to reclaim variable space at EndOfDxe event.
+ # @Prompt Reclaim variable space at EndOfDxe.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe|FALSE|BOOLEAN|0x30000008
+
## The size of volatile buffer. This buffer is used to store VOLATILE attribute variables.
# @Prompt Variable storage size.
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005
@@ -805,26 +861,6 @@
# @Prompt Shadow Peim On S3 Boot.
gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot|FALSE|BOOLEAN|0x30001028
- ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification.
- # @Prompt Default OEM ID for ACPI table creation.
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034
-
- ## Default OEM Table ID for ACPI table creation, it is "EDK2 ".
- # @Prompt Default OEM Table ID for ACPI table creation.
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035
-
- ## Default OEM Revision for ACPI table creation.
- # @Prompt Default OEM Revision for ACPI table creation.
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036
-
- ## Default Creator ID for ACPI table creation.
- # @Prompt Default Creator ID for ACPI table creation.
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037
-
- ## Default Creator Revision for ACPI table creation.
- # @Prompt Default Creator Revision for ACPI table creation.
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038
-
## The mask is used to control memory profile behavior.
# BIT0 - Enable UEFI memory profile.
# BIT1 - Enable SMRAM profile.
@@ -850,6 +886,8 @@
# EfiMemoryMappedIO 0x0800
# EfiMemoryMappedIOPortSpace 0x1000
# EfiPalCode 0x2000
+ # EfiPersistentMemory 0x4000
+ # OEM Reserved 0x4000000000000000
# OS Reserved 0x8000000000000000
#
# e.g. Reserved+ACPINvs+ACPIReclaim+RuntimeCode+RuntimeData are needed, 0x661 should be used.
@@ -857,10 +895,6 @@
# @Prompt Memory profile memory type.
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType|0x0|UINT64|0x30001042
- ## UART clock frequency is for the baud rate configuration.
- # @Prompt Serial Port Clock Rate.
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066
-
## PCI Serial Device Info. It is an array of Device, Function, and Power Management
# information that describes the path that contains zero or more PCI to PCI briges
# followed by a PCI serial device. Each array entry is 4-bytes in length. The
@@ -877,6 +911,19 @@
# @Prompt Serial Port Extended Transmit FIFO Size in Bytes
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64|UINT32|0x00010068
+ ## This PCD points to the file name GUID of the BootManagerMenuApp
+ # Platform can customize the PCD to point to different application for Boot Manager Menu
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0xdc, 0x5b, 0xc2, 0xee, 0xf2, 0x67, 0x95, 0x4d, 0xb1, 0xd5, 0xf8, 0x1b, 0x20, 0x39, 0xd1, 0x1d }|VOID*|0x0001006b
+
+ ## This PCD points to the formset GUID of the driver health management form
+ # The form will be popped up by BDS core when there are Configuration Required driver health intances.
+ # Platform can customize the PCD to point to different formset.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDriverHealthConfigureForm|{ 0xf4, 0xd9, 0x96, 0x42, 0xfc, 0xf6, 0xde, 0x4d, 0x86, 0x85, 0x8c, 0xe2, 0xd7, 0x9d, 0x90, 0xf0 }|VOID*|0x0001006c
+
+ ## The number of bytes between registers in serial device. The default is 1 byte.
+ # @Prompt Serial Port Register Stride in Bytes
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006d
+
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## This PCD defines the Console output row. The default value is 25 according to UEFI spec.
# This PCD could be set to 0 then console output would be at max column and max row.
@@ -898,7 +945,38 @@
# @Prompt Video vertical resolution.
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600|UINT32|0x4000000a
+ # The 4 PCDs below are used to specify the video resolution and text mode of text setup.
+ # To make text setup work in this resolution, PcdVideoHorizontalResolution, PcdVideoVerticalResolution,
+ # PcdConOutColumn and PcdConOutRow should be created as PcdsDynamic or PcdsDynamicEx in platform DSC file.
+ # Then BDS setup will update these PCDs defined in MdeModulePkg.dec and reconnect console drivers
+ # (GraphicsConsole, Terminal, Consplitter) to make the video resolution and text mode work
+ # for text setup.
+
+ ## Specify the video horizontal resolution of text setup.
+ # @Prompt Video Horizontal Resolution of Text Setup
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800|UINT32|0x4000000b
+
+ ## Specify the video vertical resolution of text setup.
+ # @Prompt Video Vertical Resolution of Text Setup
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600|UINT32|0x4000000c
+
+ ## Specify the console output column of text setup.
+ # @Prompt Console Output Column of Text Setup
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|80|UINT32|0x4000000d
+
+ ## Specify the console output row of text setup.
+ # @Prompt Console Output Row of Text Setup
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e
+
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+ ## UART clock frequency is for the baud rate configuration.
+ # @Prompt Serial Port Clock Rate.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066
+
+ ## This PCD points to the front page formset GUID
+ # Compare the FormsetGuid or ClassGuid with this PCD value can detect whether in front page
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFrontPageFormSetGuid|{ 0xbc, 0x30, 0x0c, 0x9e,0x06, 0x3f, 0xa6, 0x4b, 0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }|VOID*|0x0001006e
+
## Base address of the NV variable range in flash device.
# @Prompt Base address of flash NV variable range.
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001
@@ -1129,7 +1207,17 @@
## SMBIOS version.
# @Prompt SMBIOS version.
- gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0207|UINT16|0x00010055
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300|UINT16|0x00010055
+
+ ## SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure.
+ # @Prompt SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0|UINT8|0x0001006A
+
+ ## SMBIOS produce method.
+ # BIT0 set indicates 32-bit entry point and table are produced.
+ # BIT1 set indicates 64-bit entry point and table are produced.
+ # @Prompt The policy to produce SMBIOS entry point and table.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x3|UINT32|0x00010069
## This PCD specifies the additional pad size in FPDT Basic Boot Performance Table for
# the extension FPDT boot records received after ReadyToBoot and before ExitBootService.
@@ -1161,6 +1249,69 @@
# @Prompt Disk I/O - Number of Data Buffer block.
gEfiMdeModulePkgTokenSpaceGuid.PcdDiskIoDataBufferBlockNum|64|UINT32|0x30001039
+ ## This PCD specifies the PCI-based UFS host controller mmio base address.
+ # Define the mmio base address of the pci-based UFS host controller. If there are multiple UFS
+ # host controllers, their mmio base addresses are calculated one by one from this base address.
+ # @Prompt Mmio base address of pci-based UFS host controller.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUfsPciHostControllerMmioBase|0xd0000000|UINT32|0x10000061
+
+ ## Specify Max ESRT cache entry number supported for FMP instances
+ #
+ # @Prompt Max FMP ESRT entry number to be synced & cached in repository.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxFmpEsrtCacheNum|32|UINT32|0x0000006b
+
+ ## Specify Max ESRT cache entry number supported for Non FMP instances
+ #
+ # @Prompt Max Non-FMP ESRT entry number to be cached in repository.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxNonFmpEsrtCacheNum|32|UINT32|0x0000006c
+
+ ## Specify of Capsule Flag defined by CapsuleGuid to request system reboot after capsule process
+ #
+ # @Prompt Flag to request system reboot after processing capsule.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag|0x0001|UINT16|0x0000006d
+
+ ## Publish PropertiesTable or not.
+ #
+ # If this PCD is TRUE, DxeCore publishs PropertiesTable.
+ # DxeCore evaluates if all runtime drivers has 4K aligned PE sections. If all
+ # PE sections in runtime drivers are 4K aligned, DxeCore sets BIT0 in
+ # PropertiesTable. Or DxeCore clears BIT0 in PropertiesTable.
+ # If this PCD is FALSE, DxeCore does not publish PropertiesTable.
+ #
+ # If PropertiesTable has BIT0 set, DxeCore uses below policy in UEFI memory map:
+ # 1) Use EfiRuntimeServicesCode for runtime driver PE image code section and
+ # use EfiRuntimeServicesData for runtime driver PE image header and other section.
+ # 2) Set EfiRuntimeServicesCode to be EFI_MEMORY_RO.
+ # 3) Set EfiRuntimeServicesData to be EFI_MEMORY_XP.
+ # 4) Set EfiMemoryMappedIO and EfiMemoryMappedIOPortSpace to be EFI_MEMORY_XP.
+ #
+ # NOTE: Platform need gurantee this PCD is set correctly. Platform should set
+ # this PCD to be TURE if and only if all runtime driver has seperated Code/Data
+ # section. If PE code/data sections are merged, the result is unpredictable.
+ #
+ # @Prompt Publish UEFI PropertiesTable.
+ gEfiMdeModulePkgTokenSpaceGuid.PropertiesTableEnable|TRUE|BOOLEAN|0x0000006e
+
+ ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification.
+ # @Prompt Default OEM ID for ACPI table creation.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034
+
+ ## Default OEM Table ID for ACPI table creation, it is "EDK2 ".
+ # @Prompt Default OEM Table ID for ACPI table creation.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035
+
+ ## Default OEM Revision for ACPI table creation.
+ # @Prompt Default OEM Revision for ACPI table creation.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036
+
+ ## Default Creator ID for ACPI table creation.
+ # @Prompt Default Creator ID for ACPI table creation.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037
+
+ ## Default Creator Revision for ACPI table creation.
+ # @Prompt Default Creator Revision for ACPI table creation.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038
+
[PcdsPatchableInModule]
## Specify memory size with page number for PEI code when
# Loading Module at Fixed Address feature is enabled.