]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/MdeModulePkg.dec
MdeModulePkg: Add BootLogoLib to provide interfaces about logo display.
[mirror_edk2.git] / MdeModulePkg / MdeModulePkg.dec
index 1edb49afbd2e5f06d0749e2769b44e1a7fa60aca..f00d6f030ad57459fb7514add43457f3f83c97a8 100644 (file)
   #   This library is only intended to be used by UEFI network stack modules.\r
   TcpIoLib|Include/Library/TcpIoLib.h\r
 \r
+  ##  @libraryclass  The helper routines to access HTTP service.\r
+  #   This library is only intended to be used by UEFI network stack modules.\r
+  HttpLib|Include/Library/HttpLib.h\r
+\r
   ##  @libraryclass  Defines a set of methods to reset whole system.\r
   ResetSystemLib|Include/Library/ResetSystemLib.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
+  ## @libraryclass  Provides common interfaces about TPM measurement for other modules.\r
+  #\r
+  TpmMeasurementLib|Include/Library/TpmMeasurementLib.h\r
+\r
+  ## @libraryclass  Provides authenticated variable services.\r
+  #\r
+  AuthVariableLib|Include/Library/AuthVariableLib.h\r
+\r
+  ## @libraryclass  Provides variable check services and database management.\r
+  #\r
+  VarCheckLib|Include/Library/VarCheckLib.h\r
+\r
+  ## @libraryclass  Provides services to get variable error flag and do platform variable cleanup.\r
+  #\r
+  PlatformVarCleanupLib|Include/Library/PlatformVarCleanupLib.h\r
+\r
+  ## @libraryclass  Provides image decoding service.\r
+  #\r
+  ImageDecoderLib|Include/Library/ImageDecoderLib.h\r
+\r
+  ## @libraryclass  Provides interfaces about logo display.\r
+  #\r
+  BootLogoLib|Include/Library/BootLogoLib.h\r
+\r
 [Guids]\r
   ## MdeModule package token space guid\r
   # Include/Guid/MdeModulePkgTokenSpace.h\r
   #  Include/Guid/VariableFormat.h\r
   gEfiVariableGuid           = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}\r
 \r
+  ## Guid acted as the authenticated variable store header's signature, and to specify the variable list entries put in the EFI system table.\r
+  #  Include/Guid/AuthenticatedVariableFormat.h\r
+  gEfiAuthenticatedVariableGuid = { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 } }\r
+\r
   #  Include/Guid/VariableIndexTable.h\r
   gEfiVariableIndexTableGuid  = { 0x8cfdb8c8, 0xd6b2, 0x40f3, { 0x8e, 0x97, 0x02, 0x30, 0x7c, 0xc9, 0x8b, 0x7c }}\r
 \r
   #  Include/Guid/Crc32GuidedSectionExtraction.h\r
   gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }\r
 \r
-  ## Include/Guid/NicIp4ConfigNvData.h\r
-  gEfiNicIp4ConfigVariableGuid   = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}\r
-\r
   ## Include/Guid/StatusCodeCallbackGuid.h\r
   gStatusCodeCallbackGuid   = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}\r
 \r
   ## Include/Guid/PlatDriOverrideHii.h\r
   gPlatformOverridesManagerGuid      = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}\r
 \r
-  ## Include/Guid/Ip4ConfigHii.h\r
-  gNicIp4ConfigNvDataGuid            = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}\r
+  ## Include/Guid/Ip4Config2Hii.h\r
+  gIp4Config2NvDataGuid              = { 0x9b942747, 0x154e, 0x4d29, { 0xa4, 0x36, 0xbf, 0x71, 0x0, 0xc8, 0xb5, 0x3b }}\r
 \r
   ## Include/Guid/VlanConfigHii.h\r
   gVlanConfigFormSetGuid             = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}\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
+  ## Include/Guid/TtyTerm.h\r
+  gEfiTtyTermGuid                = { 0x7d916d80, 0x5bb1, 0x458c, {0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94 }}\r
+\r
+  ## Include/Guid/HiiBootMaintenanceFormset.h\r
+  gEfiIfrBootMaintenanceGuid      = { 0xb2dedc91, 0xd59f, 0x48d2, { 0x89, 0x8a, 0x12, 0x49, 0xc, 0x74, 0xa4, 0xe0 }}\r
+  \r
 [Ppis]\r
   ## Include/Ppi/AtaController.h\r
   gPeiAtaControllerPpiGuid       = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }}\r
   ## Include/Ppi/UsbIo.h\r
   gPeiUsbIoPpiGuid               = { 0x7C29785C, 0x66B9, 0x49FC, { 0xB7, 0x97, 0x1C, 0xA5, 0x55, 0x0E, 0xF2, 0x83 }}\r
 \r
-  ## Include/Ppi/Capsule.h\r
-  gPeiCapsulePpiGuid             = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}\r
-\r
   ## Include/Ppi/SecPerformance.h\r
   gPeiSecPerformancePpiGuid      = { 0x0ecc666b, 0x4662, 0x47f9, { 0x9d, 0xd5, 0xd0, 0x96, 0xff, 0x7d, 0xa4, 0x9e }}\r
 \r
 \r
   ## Include/Protocol/UfsHostController.h\r
   gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } }\r
+  \r
+  ## Include/Protocol/EsrtManagement.h\r
+  gEsrtManagementProtocolGuid         = { 0xa340c064, 0x723c, 0x4a9c, { 0xa4, 0xdd, 0xd5, 0xb4, 0x7a, 0x26, 0xfb, 0xb0 }}\r
+\r
+  ## Include/Protocol/SmmExitBootServices.h\r
+  gEdkiiSmmExitBootServicesProtocolGuid = { 0x296eb418, 0xc4c8, 0x4e05, { 0xab, 0x59, 0x39, 0xe8, 0xaf, 0x56, 0xf0, 0xa } }\r
+\r
+  ## Include/Protocol/SmmLegacyBoot.h\r
+  gEdkiiSmmLegacyBootProtocolGuid = { 0x85a8ab57, 0x644, 0x4110, { 0x85, 0xf, 0x98, 0x13, 0x22, 0x4, 0x70, 0x70 } }\r
+\r
+  ## Include/Protocol/SmmReadyToBoot.h\r
+  gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } }\r
+\r
+  ## Include/Protocol/PlatformLogo.h\r
+  gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }\r
 \r
 #\r
 # [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
   # @Prompt Maximum variable size.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003\r
 \r
+  ## The maximum size of a single authenticated variable.\r
+  # The value is 0 as default for compatibility that maximum authenticated variable size is specified by PcdMaxVariableSize.\r
+  # @Prompt Maximum authenticated variable size.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x00|UINT32|0x30000009\r
+\r
   ## The maximum size of single hardware error record variable.<BR><BR>\r
   # In IA32/X64 platforms, this value should be larger than 1KB.<BR>\r
   # In IA64 platforms, this value should be larger than 128KB.<BR>\r
   # @Prompt Shadow Peim On S3 Boot. \r
   gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot|FALSE|BOOLEAN|0x30001028\r
 \r
-  ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification.\r
-  # @Prompt Default OEM ID for ACPI table creation.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034\r
-\r
-  ## Default OEM Table ID for ACPI table creation, it is "EDK2    ".\r
-  # @Prompt Default OEM Table ID for ACPI table creation.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035\r
-\r
-  ## Default OEM Revision for ACPI table creation.\r
-  # @Prompt Default OEM Revision for ACPI table creation.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036\r
-\r
-  ## Default Creator ID for ACPI table creation.\r
-  # @Prompt Default Creator ID for ACPI table creation.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037\r
-\r
-  ## Default Creator Revision for ACPI table creation.\r
-  # @Prompt Default Creator Revision for ACPI table creation.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038\r
+  ## Indicates if to shadow PEIM and PeiCore after memory is ready.<BR><BR>\r
+  #  This PCD is used on other boot path except for S3 boot. \r
+  #   TRUE  - Shadow PEIM and PeiCore after memory is ready.<BR>\r
+  #   FALSE - Not shadow PEIM after memory is ready.<BR>\r
+  # @Prompt Shadow Peim and PeiCore on boot\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|TRUE|BOOLEAN|0x30001029\r
 \r
   ## The mask is used to control memory profile behavior.<BR><BR>\r
   #  BIT0 - Enable UEFI memory profile.<BR>\r
   #  EfiMemoryMappedIOPortSpace     0x1000<BR>\r
   #  EfiPalCode                     0x2000<BR>\r
   #  EfiPersistentMemory            0x4000<BR>\r
+  #  OEM Reserved       0x4000000000000000<BR>\r
   #  OS Reserved        0x8000000000000000<BR>\r
   #\r
   # e.g. Reserved+ACPINvs+ACPIReclaim+RuntimeCode+RuntimeData are needed, 0x661 should be used.<BR>\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
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066\r
-  \r
   ## PCI Serial Device Info. It is an array of Device, Function, and Power Management\r
   #  information that describes the path that contains zero or more PCI to PCI briges \r
   #  followed by a PCI serial device.  Each array entry is 4-bytes in length.  The \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
+  # @Prompt Boot Manager Menu File\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
+  # @Prompt Driver Health Management Form\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
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006d\r
+\r
+  ## This PCD to include the driver guid of VFR drivers for VarCheckHiiBin generation.<BR><BR>\r
+  # Default is gZeroGuid that means no VFR driver will be parsed for VarCheckHiiBin generation.<BR>\r
+  # If it is set to an all FFs GUID, it means all modules in all FVs will be parsed for VarCheckHiiBin generation.<BR>\r
+  # @Prompt Driver guid array of VFR drivers for VarCheckHiiBin generation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVarCheckVfrDriverGuidArray|{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }|VOID*|0x3000103A\r
+\r
 [PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
   ## This PCD defines the Console output row. The default value is 25 according to UEFI spec.\r
   #  This PCD could be set to 0 then console output would be at max column and max row.\r
   # @Prompt Console output row.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006\r
 \r
-  ## This PCD defines the Console output row. The default value is 80 according to UEFI spec.\r
+  ## This PCD defines the Console output column. The default value is 80 according to UEFI spec.\r
   #  This PCD could be set to 0 then console output would be at max column and max row.\r
   # @Prompt Console output column.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e\r
 \r
 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
+  ## UART clock frequency is for the baud rate configuration.\r
+  # @Prompt Serial Port Clock Rate.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066\r
+\r
+  ## This PCD points to the front page formset GUID\r
+  #  Compare the FormsetGuid or ClassGuid with this PCD value can detect whether in front page\r
+  # @Prompt Front Page Formset.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFrontPageFormSetGuid|{ 0xbc, 0x30, 0x0c, 0x9e,0x06, 0x3f, 0xa6, 0x4b, 0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }|VOID*|0x0001006e\r
+\r
   ## Base address of the NV variable range in flash device.\r
   # @Prompt Base address of flash NV variable range.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r
   # @Prompt SATA spin-up delay time in second for recovery path.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSataSpinUpDelayInSecForRecoveryPath|15|UINT16|0x0001005B\r
 \r
-  ## This PCD is used to specify memory size with page number for a pre-allocated ACPI NVS memory to hold\r
-  #  runtime created S3 boot script entries. The default page number is 2. When changing the value of this\r
-  #  PCD, the platform developer should make sure the memory size is large enough to hold the S3 boot\r
-  #  script node created in runtime phase.\r
+  ## This PCD is used to specify memory size with page number for a pre-allocated ACPI reserved memory\r
+  #  to hold runtime(after SmmReadyToLock) created S3 boot script entries. The default page number is 2.\r
+  #  When changing the value of this PCD, the platform developer should make sure the memory size is\r
+  #  large enough to hold the S3 boot script node created in runtime(after SmmReadyToLock) phase.\r
   # @Prompt Reserved page number for S3 Boot Script Runtime Table.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptRuntimeTableReservePageNumber|0x2|UINT16|0x0001005C\r
 \r
   # @Prompt Mmio base address of pci-based UFS host controller.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdUfsPciHostControllerMmioBase|0xd0000000|UINT32|0x10000061\r
 \r
+  ## Specify Max ESRT cache entry number supported for FMP instances\r
+  #\r
+  # @Prompt Max FMP ESRT entry number to be synced & cached in repository.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxFmpEsrtCacheNum|32|UINT32|0x0000006b\r
+\r
+  ## Specify Max ESRT cache entry number supported for Non FMP instances\r
+  #\r
+  # @Prompt Max Non-FMP ESRT entry number to be cached in repository.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxNonFmpEsrtCacheNum|32|UINT32|0x0000006c\r
+\r
+  ## Specify of Capsule Flag defined by CapsuleGuid to request system reboot after capsule process\r
+  #\r
+  # @Prompt Flag to request system reboot after processing capsule.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag|0x0001|UINT16|0x0000006d\r
+\r
+  ## Publish PropertiesTable or not.\r
+  #\r
+  # If this PCD is TRUE, DxeCore publishs PropertiesTable.\r
+  # DxeCore evaluates if all runtime drivers has 4K aligned PE sections. If all\r
+  # PE sections in runtime drivers are 4K aligned, DxeCore sets BIT0 in\r
+  # PropertiesTable. Or DxeCore clears BIT0 in PropertiesTable.\r
+  # If this PCD is FALSE, DxeCore does not publish PropertiesTable.\r
+  #\r
+  # If PropertiesTable has BIT0 set, DxeCore uses below policy in UEFI memory map:\r
+  #   1) Use EfiRuntimeServicesCode for runtime driver PE image code section and\r
+  #      use EfiRuntimeServicesData for runtime driver PE image header and other section.\r
+  #   2) Set EfiRuntimeServicesCode to be EFI_MEMORY_RO.\r
+  #   3) Set EfiRuntimeServicesData to be EFI_MEMORY_XP.\r
+  #   4) Set EfiMemoryMappedIO and EfiMemoryMappedIOPortSpace to be EFI_MEMORY_XP.\r
+  #\r
+  # NOTE: Platform need gurantee this PCD is set correctly. Platform should set\r
+  # this PCD to be TURE if and only if all runtime driver has seperated Code/Data\r
+  # section. If PE code/data sections are merged, the result is unpredictable.\r
+  #\r
+  # @Prompt Publish UEFI PropertiesTable.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|TRUE|BOOLEAN|0x0000006e\r
+\r
+  ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification.\r
+  # @Prompt Default OEM ID for ACPI table creation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034\r
+\r
+  ## Default OEM Table ID for ACPI table creation, it is "EDK2    ".\r
+  # @Prompt Default OEM Table ID for ACPI table creation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035\r
+\r
+  ## Default OEM Revision for ACPI table creation.\r
+  # @Prompt Default OEM Revision for ACPI table creation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036\r
+\r
+  ## Default Creator ID for ACPI table creation.\r
+  # @Prompt Default Creator ID for ACPI table creation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037\r
+\r
+  ## Default Creator Revision for ACPI table creation.\r
+  # @Prompt Default Creator Revision for ACPI table creation.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038\r
+\r
+  ## Indicates if to set NX for stack.<BR><BR>\r
+  #  For the DxeIpl and the DxeCore are both X64, set NX for stack feature also require PcdDxeIplBuildPageTables be TRUE.<BR>\r
+  #  For the DxeIpl and the DxeCore are both IA32 (PcdDxeIplSwitchToLongMode is FALSE), set NX for stack feature also require\r
+  #  IA32 PAE is supported and Execute Disable Bit is available.<BR>\r
+  #   TRUE  - to set NX for stack.<BR>\r
+  #   FALSE - Not to set NX for stack.<BR>\r
+  # @Prompt Set NX for stack.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE|BOOLEAN|0x0001006f\r
+\r
 [PcdsPatchableInModule]\r
   ## Specify memory size with page number for PEI code when\r
   #  Loading Module at Fixed Address feature is enabled.\r