# Include/Guid/MdeModuleHii.h\r
gEfiIfrTianoGuid = { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce }}\r
\r
+ ## Guid for EDKII implementation extension, used to indaicate there are bit fields in the varstore.\r
+ # Include/Guid/MdeModuleHii.h\r
+ gEdkiiIfrBitVarstoreGuid = {0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60,0xA7, 0x1D}}\r
+\r
## Guid for Framework vfr GUIDed opcodes.\r
# Include/Guid/MdeModuleHii.h\r
gEfiIfrFrameworkGuid = { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 }}\r
## Include/Protocol/IoMmu.h\r
gEdkiiIoMmuProtocolGuid = { 0x4e939de9, 0xd948, 0x4b0f, { 0x88, 0xed, 0xe6, 0xe1, 0xce, 0x51, 0x7c, 0x1e } }\r
\r
+ ## Include/Protocol/SmmEndofS3Resume.h\r
+ gEdkiiSmmEndOfS3ResumeProtocolGuid = { 0x96f5296d, 0x05f7, 0x4f3c, {0x84, 0x67, 0xe4, 0x56, 0x89, 0x0e, 0x0c, 0xb5 } }\r
+\r
+ ## Include/Protocol/SmmMemoryAttribute.h\r
+ gEdkiiSmmMemoryAttributeProtocolGuid = { 0x69b792ea, 0x39ce, 0x402d, { 0xa2, 0xa6, 0xf7, 0x21, 0xde, 0x35, 0x1d, 0xfe } }\r
+\r
#\r
# [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
# 0x80000001 | Invalid value provided.\r
# @ValidList 0x80000006 | 0x03058002\r
gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable|0x03058002|UINT32|0x30001040\r
\r
+ ## Mask to control the NULL address detection in code for different phases.\r
+ # If enabled, accessing NULL address in UEFI or SMM code can be caught.<BR><BR>\r
+ # BIT0 - Enable NULL pointer detection for UEFI.<BR>\r
+ # BIT1 - Enable NULL pointer detection for SMM.<BR>\r
+ # BIT2..6 - Reserved for future uses.<BR>\r
+ # BIT7 - Disable NULL pointer detection just after EndOfDxe. <BR>\r
+ # This is a workaround for those unsolvable NULL access issues in\r
+ # OptionROM, boot loader, etc. It can also help to avoid unnecessary\r
+ # exception caused by legacy memory (0-4095) access after EndOfDxe,\r
+ # such as Windows 7 boot on Qemu.<BR>\r
+ # @Prompt Enable NULL address detection.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask|0x0|UINT8|0x30001050\r
+\r
+ ## Init Value in Temp Stack to be shared between SEC and PEI_CORE\r
+ # SEC fills the full temp stack with this values. When switch stack, PeiCore can check\r
+ # this value in the temp stack to know how many stack has been used.\r
+ # @Prompt Init Value in Temp Stack\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack|0x5AA55AA5|UINT32|0x30001051\r
+\r
+ ## Indicates which type allocation need guard page.\r
+ # Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\r
+ # EfiReservedMemoryType 0x0000000000000001<BR>\r
+ # EfiLoaderCode 0x0000000000000002<BR>\r
+ # EfiLoaderData 0x0000000000000004<BR>\r
+ # EfiBootServicesCode 0x0000000000000008<BR>\r
+ # EfiBootServicesData 0x0000000000000010<BR>\r
+ # EfiRuntimeServicesCode 0x0000000000000020<BR>\r
+ # EfiRuntimeServicesData 0x0000000000000040<BR>\r
+ # EfiConventionalMemory 0x0000000000000080<BR>\r
+ # EfiUnusableMemory 0x0000000000000100<BR>\r
+ # EfiACPIReclaimMemory 0x0000000000000200<BR>\r
+ # EfiACPIMemoryNVS 0x0000000000000400<BR>\r
+ # EfiMemoryMappedIO 0x0000000000000800<BR>\r
+ # EfiMemoryMappedIOPortSpace 0x0000000000001000<BR>\r
+ # EfiPalCode 0x0000000000002000<BR>\r
+ # EfiPersistentMemory 0x0000000000004000<BR>\r
+ # OEM Reserved 0x4000000000000000<BR>\r
+ # OS Reserved 0x8000000000000000<BR>\r
+ # e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>\r
+ # @Prompt The memory type mask for Page Guard.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPageType|0x0|UINT64|0x30001052\r
+\r
+ ## Indicates which type allocation need guard page.\r
+ # Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\r
+ # EfiReservedMemoryType 0x0000000000000001<BR>\r
+ # EfiLoaderCode 0x0000000000000002<BR>\r
+ # EfiLoaderData 0x0000000000000004<BR>\r
+ # EfiBootServicesCode 0x0000000000000008<BR>\r
+ # EfiBootServicesData 0x0000000000000010<BR>\r
+ # EfiRuntimeServicesCode 0x0000000000000020<BR>\r
+ # EfiRuntimeServicesData 0x0000000000000040<BR>\r
+ # EfiConventionalMemory 0x0000000000000080<BR>\r
+ # EfiUnusableMemory 0x0000000000000100<BR>\r
+ # EfiACPIReclaimMemory 0x0000000000000200<BR>\r
+ # EfiACPIMemoryNVS 0x0000000000000400<BR>\r
+ # EfiMemoryMappedIO 0x0000000000000800<BR>\r
+ # EfiMemoryMappedIOPortSpace 0x0000000000001000<BR>\r
+ # EfiPalCode 0x0000000000002000<BR>\r
+ # EfiPersistentMemory 0x0000000000004000<BR>\r
+ # OEM Reserved 0x4000000000000000<BR>\r
+ # OS Reserved 0x8000000000000000<BR>\r
+ # e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>\r
+ # @Prompt The memory type mask for Pool Guard.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPoolType|0x0|UINT64|0x30001053\r
+\r
+ ## This mask is to control Heap Guard behavior.\r
+ # BIT0 - Enable UEFI page guard.<BR>\r
+ # BIT1 - Enable UEFI pool guard.<BR>\r
+ # BIT2 - Enable SMM page guard.<BR>\r
+ # BIT3 - Enable SMM pool guard.<BR>\r
+ # BIT7 - The direction of Guard Page for Pool Guard.\r
+ # 0 - The returned pool is adjacent to the bottom guard page.<BR>\r
+ # 1 - The returned pool is adjacent to the top guard page.<BR>\r
+ # @Prompt The Heap Guard feature mask\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask|0x0|UINT8|0x30001054\r
+\r
[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