]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/MdeModulePkg.dec,.uni: Add Protocol, PCDs and string tokens
authorJian J Wang <jian.j.wang@intel.com>
Fri, 15 Sep 2017 13:48:06 +0000 (21:48 +0800)
committerStar Zeng <star.zeng@intel.com>
Fri, 17 Nov 2017 02:54:37 +0000 (10:54 +0800)
Add definitions and strings for following new PCDs:

  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPageType
  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPoolType
  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask

Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Suggested-by: Ayellet Wolman <ayellet.wolman@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
MdeModulePkg/MdeModulePkg.dec
MdeModulePkg/MdeModulePkg.uni

index 6f46d595de913ca40eb5a71e5913582ce31892bb..40d5cd5fb6d93dc2618764b8b9f9e714b100591c 100644 (file)
   ## Include/Protocol/SmmEndofS3Resume.h\r
   gEdkiiSmmEndOfS3ResumeProtocolGuid = { 0x96f5296d, 0x05f7, 0x4f3c, {0x84, 0x67, 0xe4, 0x56, 0x89, 0x0e, 0x0c, 0xb5 } }\r
 \r
+  ## Include/Protocol/SmmMemoryAttribute.h
+  gEdkiiSmmMemoryAttributeProtocolGuid = { 0x69b792ea, 0x39ce, 0x402d, { 0xa2, 0xa6, 0xf7, 0x21, 0xde, 0x35, 0x1d, 0xfe } }
+
 #\r
 # [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
 #   0x80000001 | Invalid value provided.\r
   # @Prompt Init Value in Temp Stack\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack|0x5AA55AA5|UINT32|0x30001051\r
 \r
+  ## Indicates which type allocation need guard page.
+  # Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>
+  #  EfiReservedMemoryType             0x0000000000000001<BR>
+  #  EfiLoaderCode                     0x0000000000000002<BR>
+  #  EfiLoaderData                     0x0000000000000004<BR>
+  #  EfiBootServicesCode               0x0000000000000008<BR>
+  #  EfiBootServicesData               0x0000000000000010<BR>
+  #  EfiRuntimeServicesCode            0x0000000000000020<BR>
+  #  EfiRuntimeServicesData            0x0000000000000040<BR>
+  #  EfiConventionalMemory             0x0000000000000080<BR>
+  #  EfiUnusableMemory                 0x0000000000000100<BR>
+  #  EfiACPIReclaimMemory              0x0000000000000200<BR>
+  #  EfiACPIMemoryNVS                  0x0000000000000400<BR>
+  #  EfiMemoryMappedIO                 0x0000000000000800<BR>
+  #  EfiMemoryMappedIOPortSpace        0x0000000000001000<BR>
+  #  EfiPalCode                        0x0000000000002000<BR>
+  #  EfiPersistentMemory               0x0000000000004000<BR>
+  #  OEM Reserved                      0x4000000000000000<BR>
+  #  OS Reserved                       0x8000000000000000<BR>
+  # e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>
+  # @Prompt The memory type mask for Page Guard.
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPageType|0x0|UINT64|0x30001052
+
+  ## Indicates which type allocation need guard page.
+  # Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>
+  #  EfiReservedMemoryType             0x0000000000000001<BR>
+  #  EfiLoaderCode                     0x0000000000000002<BR>
+  #  EfiLoaderData                     0x0000000000000004<BR>
+  #  EfiBootServicesCode               0x0000000000000008<BR>
+  #  EfiBootServicesData               0x0000000000000010<BR>
+  #  EfiRuntimeServicesCode            0x0000000000000020<BR>
+  #  EfiRuntimeServicesData            0x0000000000000040<BR>
+  #  EfiConventionalMemory             0x0000000000000080<BR>
+  #  EfiUnusableMemory                 0x0000000000000100<BR>
+  #  EfiACPIReclaimMemory              0x0000000000000200<BR>
+  #  EfiACPIMemoryNVS                  0x0000000000000400<BR>
+  #  EfiMemoryMappedIO                 0x0000000000000800<BR>
+  #  EfiMemoryMappedIOPortSpace        0x0000000000001000<BR>
+  #  EfiPalCode                        0x0000000000002000<BR>
+  #  EfiPersistentMemory               0x0000000000004000<BR>
+  #  OEM Reserved                      0x4000000000000000<BR>
+  #  OS Reserved                       0x8000000000000000<BR>
+  # e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>
+  # @Prompt The memory type mask for Pool Guard.
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPoolType|0x0|UINT64|0x30001053
+
+  ## This mask is to control Heap Guard behavior.
+  #   BIT0 - Enable UEFI page guard.<BR>
+  #   BIT1 - Enable UEFI pool guard.<BR>
+  #   BIT2 - Enable SMM page guard.<BR>
+  #   BIT3 - Enable SMM pool guard.<BR>
+  #   BIT7 - The direction of Guard Page for Pool Guard.
+  #          0 - The returned pool is adjacent to the bottom guard page.<BR>
+  #          1 - The returned pool is adjacent to the top guard page.<BR>
+  # @Prompt The Heap Guard feature mask
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask|0x0|UINT8|0x30001054
+
 [PcdsFixedAtBuild, PcdsPatchableInModule]\r
   ## Dynamic type PCD can be registered callback function for Pcd setting action.\r
   #  PcdMaxPeiPcdCallBackNumberPerPcdEntry indicates the maximum number of callback function\r
index ce9de4897afba174685a678ca71d66f7d6ea3a4d..827fbbccf95a13a7401362960cff0464b3e43b41 100644 (file)
                                                                                            "SEC fills the full temp stack with this values. When switch stack, PeiCore can check\n"\r
                                                                                            "this value in the temp stack to know how many stack has been used.\n"\r
 \r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPageType_PROMPT  #language en-US "The memory type mask for Page Guard"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPageType_HELP    #language en-US "Indicates which type allocation need guard page.\n"
+                                                                                        " Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\n"
+                                                                                        "  EfiReservedMemoryType             0x0000000000000001\n"
+                                                                                        "  EfiLoaderCode                     0x0000000000000002\n"
+                                                                                        "  EfiLoaderData                     0x0000000000000004\n"
+                                                                                        "  EfiBootServicesCode               0x0000000000000008\n"
+                                                                                        "  EfiBootServicesData               0x0000000000000010\n"
+                                                                                        "  EfiRuntimeServicesCode            0x0000000000000020\n"
+                                                                                        "  EfiRuntimeServicesData            0x0000000000000040\n"
+                                                                                        "  EfiConventionalMemory             0x0000000000000080\n"
+                                                                                        "  EfiUnusableMemory                 0x0000000000000100\n"
+                                                                                        "  EfiACPIReclaimMemory              0x0000000000000200\n"
+                                                                                        "  EfiACPIMemoryNVS                  0x0000000000000400\n"
+                                                                                        "  EfiMemoryMappedIO                 0x0000000000000800\n"
+                                                                                        "  EfiMemoryMappedIOPortSpace        0x0000000000001000\n"
+                                                                                        "  EfiPalCode                        0x0000000000002000\n"
+                                                                                        "  EfiPersistentMemory               0x0000000000004000\n"
+                                                                                        "  OEM Reserved                      0x4000000000000000\n"
+                                                                                        "  OS Reserved                       0x8000000000000000\n"
+                                                                                        " e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPoolType_PROMPT  #language en-US "The memory type mask for Pool Guard"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPoolType_HELP    #language en-US "Indicates which type allocation need guard page.\n"
+                                                                                        " Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\n"
+                                                                                        "  EfiReservedMemoryType             0x0000000000000001\n"
+                                                                                        "  EfiLoaderCode                     0x0000000000000002\n"
+                                                                                        "  EfiLoaderData                     0x0000000000000004\n"
+                                                                                        "  EfiBootServicesCode               0x0000000000000008\n"
+                                                                                        "  EfiBootServicesData               0x0000000000000010\n"
+                                                                                        "  EfiRuntimeServicesCode            0x0000000000000020\n"
+                                                                                        "  EfiRuntimeServicesData            0x0000000000000040\n"
+                                                                                        "  EfiConventionalMemory             0x0000000000000080\n"
+                                                                                        "  EfiUnusableMemory                 0x0000000000000100\n"
+                                                                                        "  EfiACPIReclaimMemory              0x0000000000000200\n"
+                                                                                        "  EfiACPIMemoryNVS                  0x0000000000000400\n"
+                                                                                        "  EfiMemoryMappedIO                 0x0000000000000800\n"
+                                                                                        "  EfiMemoryMappedIOPortSpace        0x0000000000001000\n"
+                                                                                        "  EfiPalCode                        0x0000000000002000\n"
+                                                                                        "  EfiPersistentMemory               0x0000000000004000\n"
+                                                                                        "  OEM Reserved                      0x4000000000000000\n"
+                                                                                        "  OS Reserved                       0x8000000000000000\n"
+                                                                                        " e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>"
+
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_PROMPT  #language en-US "The Heap Guard feature mask"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_HELP    #language en-US "This mask is to control Heap Guard behavior.\n"
+                                                                                            "   BIT0 - Enable UEFI page guard.<BR>\n"
+                                                                                            "   BIT1 - Enable UEFI pool guard.<BR>\n"
+                                                                                            "   BIT2 - Enable SMM page guard.<BR>\n"
+                                                                                            "   BIT3 - Enable SMM pool guard.<BR>\n"
+                                                                                            "   BIT7 - The direction of Guard Page for Pool Guard.\n"
+                                                                                            "          0 - The returned pool is adjacent to the bottom guard page.<BR>\n"
+                                                                                            "          1 - The returned pool is adjacent to the top guard page.<BR>"
+