]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/MdeModulePkg.dec
MdeModulePkg DxeCore/PiSmmCore: Add UEFI memory and SMRAM profile support.
[mirror_edk2.git] / MdeModulePkg / MdeModulePkg.dec
index d176b873d565083a3e0b0ff0e86336e0140783fe..0384e5614fa839aa7f9127c5c1eb6c6b5cd6a569 100644 (file)
@@ -1,6 +1,6 @@
 ## @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
 \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
 [Ppis]\r
   ## Include/Ppi/AtaController.h\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 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
   # @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
+  #  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
 [PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\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
+  ## SMBIOS version.\r
+  # @Prompt SMBIOS version.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0207|UINT16|0x00010055\r
 \r
   ## This PCD specifies the additional pad size in FPDT Basic Boot Performance Table for\r