+ "Note: If a bit is cleared, the data section could be still non-executable if\n"\r
+ "PcdDxeNxMemoryProtectionPolicy is enabled for EfiLoaderData, EfiBootServicesData\n"\r
+ "and/or EfiRuntimeServicesData.<BR>"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdDxeNxMemoryProtectionPolicy_PROMPT #language en-US "Set DXE memory protection policy."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdDxeNxMemoryProtectionPolicy_HELP #language en-US "Set DXE memory protection policy. The policy is bitwise.\n"\r
+ "If a bit is set, memory regions of the associated type will be mapped\n"\r
+ "non-executable.<BR>\n"\r
+ "If a bit is cleared, nothing will be done to associated type of memory.<BR><BR>\n"\r
+ "\n"\r
+ "Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\n"\r
+ "EfiReservedMemoryType 0x0001<BR>\n"\r
+ "EfiLoaderCode 0x0002<BR>\n"\r
+ "EfiLoaderData 0x0004<BR>\n"\r
+ "EfiBootServicesCode 0x0008<BR>\n"\r
+ "EfiBootServicesData 0x0010<BR>\n"\r
+ "EfiRuntimeServicesCode 0x0020<BR>\n"\r
+ "EfiRuntimeServicesData 0x0040<BR>\n"\r
+ "EfiConventionalMemory 0x0080<BR>\n"\r
+ "EfiUnusableMemory 0x0100<BR>\n"\r
+ "EfiACPIReclaimMemory 0x0200<BR>\n"\r
+ "EfiACPIMemoryNVS 0x0400<BR>\n"\r
+ "EfiMemoryMappedIO 0x0800<BR>\n"\r
+ "EfiMemoryMappedIOPortSpace 0x1000<BR>\n"\r
+ "EfiPalCode 0x2000<BR>\n"\r
+ "EfiPersistentMemory 0x4000<BR>\n"\r
+ "OEM Reserved 0x4000000000000000<BR>\n"\r
+ "OS Reserved 0x8000000000000000<BR>\n"\r
+ "\n"\r
+ "NOTE: User must NOT set NX protection for EfiLoaderCode / EfiBootServicesCode / EfiRuntimeServicesCode. <BR>\n"\r
+ "User MUST set the same NX protection for EfiBootServicesData and EfiConventionalMemory. <BR>\n"\r
+ "\n"\r
+ "e.g. 0x7FD5 can be used for all memory except Code. <BR>\n"\r
+ "e.g. 0x7BD4 can be used for all memory except Code and ACPINVS/Reserved. <BR>\n"\r
+ ""\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPteMemoryEncryptionAddressOrMask_PROMPT #language en-US "The address mask when memory encryption is enabled."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPteMemoryEncryptionAddressOrMask_HELP #language en-US "This PCD holds the address mask for page table entries when memory encryption is\n"\r
+ "enabled on AMD processors supporting the Secure Encrypted Virtualization (SEV) feature.\n"\r
+ "This mask should be applied when creating 1:1 virtual to physical mapping tables."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNullPointerDetectionPropertyMask_PROMPT #language en-US "Enable NULL pointer detection"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNullPointerDetectionPropertyMask_HELP #language en-US "Mask to control the NULL address detection in code for different phases.\n"\r
+ " If enabled, accessing NULL address in UEFI or SMM code can be caught.\n\n"\r
+ " BIT0 - Enable NULL pointer detection for UEFI.\n"\r
+ " BIT1 - Enable NULL pointer detection for SMM.\n"\r
+ " BIT2..6 - Reserved for future uses.\n"\r
+ " BIT7 - Disable NULL pointer detection just after EndOfDxe."\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.\n"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdInitValueInTempStack_PROMPT #language en-US "Init Value in Temp Stack"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdInitValueInTempStack_HELP #language en-US "Init Value in Temp Stack to be shared between SEC and PEI_CORE\n"\r
+ "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"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPageType_HELP #language en-US "Indicates which type allocation need guard page.\n\n"\r
+ " If a bit is set, a head guard page and a tail guard page will be added just\n"\r
+ " before and after corresponding type of pages allocated if there's enough\n"\r
+ " free pages for all of them. The page allocation for the type related to\n"\r
+ " cleared bits keeps the same as ususal.\n\n"\r
+ " This PCD is only valid if BIT0 and/or BIT2 are set in PcdHeapGuardPropertyMask.\n\n"\r
+ " Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\n"\r
+ " EfiReservedMemoryType 0x0000000000000001\n"\r
+ " EfiLoaderCode 0x0000000000000002\n"\r
+ " EfiLoaderData 0x0000000000000004\n"\r
+ " EfiBootServicesCode 0x0000000000000008\n"\r
+ " EfiBootServicesData 0x0000000000000010\n"\r
+ " EfiRuntimeServicesCode 0x0000000000000020\n"\r
+ " EfiRuntimeServicesData 0x0000000000000040\n"\r
+ " EfiConventionalMemory 0x0000000000000080\n"\r
+ " EfiUnusableMemory 0x0000000000000100\n"\r
+ " EfiACPIReclaimMemory 0x0000000000000200\n"\r
+ " EfiACPIMemoryNVS 0x0000000000000400\n"\r
+ " EfiMemoryMappedIO 0x0000000000000800\n"\r
+ " EfiMemoryMappedIOPortSpace 0x0000000000001000\n"\r
+ " EfiPalCode 0x0000000000002000\n"\r
+ " EfiPersistentMemory 0x0000000000004000\n"\r
+ " OEM Reserved 0x4000000000000000\n"\r
+ " OS Reserved 0x8000000000000000\n"\r
+ " e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPoolType_PROMPT #language en-US "The memory type mask for Pool Guard"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPoolType_HELP #language en-US "Indicates which type allocation need guard page.\n\n"\r
+ " If a bit is set, a head guard page and a tail guard page will be added just\n"\r
+ " before and after corresponding type of pages which the allocated pool occupies,\n"\r
+ " if there's enough free memory for all of them. The pool allocation for the\n"\r
+ " type related to cleared bits keeps the same as ususal.\n\n"\r
+ " This PCD is only valid if BIT1 and/or BIT3 are set in PcdHeapGuardPropertyMask.\n\n"\r
+ " Below is bit mask for this PCD: (Order is same as UEFI spec)<BR>\n"\r
+ " EfiReservedMemoryType 0x0000000000000001\n"\r
+ " EfiLoaderCode 0x0000000000000002\n"\r
+ " EfiLoaderData 0x0000000000000004\n"\r
+ " EfiBootServicesCode 0x0000000000000008\n"\r
+ " EfiBootServicesData 0x0000000000000010\n"\r
+ " EfiRuntimeServicesCode 0x0000000000000020\n"\r
+ " EfiRuntimeServicesData 0x0000000000000040\n"\r
+ " EfiConventionalMemory 0x0000000000000080\n"\r
+ " EfiUnusableMemory 0x0000000000000100\n"\r
+ " EfiACPIReclaimMemory 0x0000000000000200\n"\r
+ " EfiACPIMemoryNVS 0x0000000000000400\n"\r
+ " EfiMemoryMappedIO 0x0000000000000800\n"\r
+ " EfiMemoryMappedIOPortSpace 0x0000000000001000\n"\r
+ " EfiPalCode 0x0000000000002000\n"\r
+ " EfiPersistentMemory 0x0000000000004000\n"\r
+ " OEM Reserved 0x4000000000000000\n"\r
+ " OS Reserved 0x8000000000000000\n"\r
+ " e.g. LoaderCode+LoaderData+BootServicesCode+BootServicesData are needed, 0x1E should be used.<BR>"\r
+\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_PROMPT #language en-US "The Heap Guard feature mask"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_HELP #language en-US "This mask is to control Heap Guard behavior.\n"\r
+ " Note:\n"\r
+ " a) Heap Guard is for debug purpose and should not be enabled in product"\r
+ " BIOS.\n"\r
+ " b) Due to the limit of pool memory implementation and the alignment"\r
+ " requirement of UEFI spec, BIT7 is a try-best setting which cannot"\r
+ " guarantee that the returned pool is exactly adjacent to head guard"\r
+ " page or tail guard page.\n"\r
+ " c) UEFI freed-memory guard and UEFI pool/page guard cannot be enabled"\r
+ " at the same time.\n"\r
+ " BIT0 - Enable UEFI page guard.<BR>\n"\r
+ " BIT1 - Enable UEFI pool guard.<BR>\n"\r
+ " BIT2 - Enable SMM page guard.<BR>\n"\r
+ " BIT3 - Enable SMM pool guard.<BR>\n"\r
+ " BIT4 - Enable UEFI freed-memory guard (Use-After-Free memory detection).<BR>\n"\r
+ " BIT7 - The direction of Guard Page for Pool Guard.\n"\r
+ " 0 - The returned pool is near the tail guard page.<BR>\n"\r
+ " 1 - The returned pool is near the head guard page.<BR>"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCpuStackGuard_PROMPT #language en-US "Enable UEFI Stack Guard"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCpuStackGuard_HELP #language en-US "Indicates if UEFI Stack Guard will be enabled.\n"\r
+ " If enabled, stack overflow in UEFI can be caught, preventing chaotic consequences.<BR><BR>\n"\r
+ " TRUE - UEFI Stack Guard will be enabled.<BR>\n"\r
+ " FALSE - UEFI Stack Guard will be disabled.<BR>"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdSetNvStoreDefaultId_PROMPT #language en-US "NV Storage DefaultId"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdSetNvStoreDefaultId_HELP #language en-US "This dynamic PCD enables the default variable setting.\n"\r
+ " Its value is the default store ID value. The default value is zero as Standard default.\n"\r
+ " When its value is set in PEI, it will trig the default setting to be applied as the default EFI variable.\n"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNvStoreDefaultValueBuffer_PROMPT #language en-US "NV Storage Default Value Buffer"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNvStoreDefaultValueBuffer_HELP #language en-US "This dynamic PCD holds the DynamicHii PCD value. Its value is the auto generated.\n"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEdkiiFpdtStringRecordEnableOnly_PROMPT #language en-US "String FPDT Record Enable Only"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEdkiiFpdtStringRecordEnableOnly_HELP #language en-US "Control which FPDT record format will be used to store the performance entry.\n"\r
+ "On TRUE, the string FPDT record will be used to store every performance entry.\n"\r
+ "On FALSE, the different FPDT record will be used to store the different performance entries."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdVpdBaseAddress_PROMPT #language en-US "64bit VPD base address"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdVpdBaseAddress_HELP #language en-US "VPD type PCD allows a developer to point to an absolute physical address PcdVpdBaseAddress64"\r
+ "to store PCD value. It will be DynamicExDefault only."\r
+ "It is used to set VPD region base address. So, it can't be DynamicExVpd PCD. Its value is"\r
+ "required to be accessed in PcdDxe driver entry point. So, its value must be set in PEI phase."\r
+ "It can't depend on EFI variable service, and can't be DynamicExHii PCD."\r