// 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 - 2016, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
//\r
-// This program and the accompanying materials are licensed and made available under\r
-// the terms and conditions of the BSD License that accompanies this distribution.\r
-// The full text of the license may be found at\r
-// http://opensource.org/licenses/bsd-license.php.\r
-//\r
-// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+// SPDX-License-Identifier: BSD-2-Clause-Patent\r
//\r
// **/\r
\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdVpdBaseAddress_HELP #language en-US "VPD type PCD allows a developer to point to an absolute physical address PCDVPDBASEADDRESS to store PCD value."\r
\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxFvSupported_PROMPT #language en-US "Maximum number of FV supported by PeiCore"\r
-\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxFvSupported_HELP #language en-US "Maximum number of FV is supported by PeiCore's dispatching."\r
-\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPeimPerFv_PROMPT #language en-US "Maximum File count per FV supported by PeiCore"\r
-\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPeimPerFv_HELP #language en-US "Maximum File count in every FV is supported by PeiCore's dispatching. PeiCore supported File type includes PEIM, Combined PEIM and FV."\r
-\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPeiStackSize_PROMPT #language en-US "Maximum stack size for PeiCore"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPeiStackSize_HELP #language en-US "Maximum stack size for PeiCore."\r
\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPpiSupported_PROMPT #language en-US "Maximum PPI count supported by PeiCore"\r
-\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPeiCoreMaxPpiSupported_HELP #language en-US "Maximum PPI count is supported by PeiCore's PPI database."\r
-\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxVariableSize_PROMPT #language en-US "Maximum variable size"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxVariableSize_HELP #language en-US "The maximum size of a single non-HwErr type variable."\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxAuthVariableSize_HELP #language en-US "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
\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxVolatileVariableSize_PROMPT #language en-US "The maximum size of a single non-authenticated volatile variable."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxVolatileVariableSize_HELP #language en-US "The maximum size of a single non-authenticated volatile variable.<BR><BR>\n"\r
+ "The default value is 0 for compatibility: in that case, the maximum "\r
+ "non-authenticated volatile variable size remains specified by "\r
+ "PcdMaxVariableSize.<BR>\n"\r
+ "Only the MdeModulePkg/Universal/Variable/RuntimeDxe driver supports this PCD.<BR>"\r
+\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxHardwareErrorVariableSize_PROMPT #language en-US "Maximum HwErr variable size"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaxHardwareErrorVariableSize_HELP #language en-US "The maximum size of single hardware error record variable.<BR><BR>\n"\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
+ "TRUE - Set NX for stack.<BR>"\r
+ "FALSE - Do nothing for stack.<BR>"\r
+ "Note: If this PCD is set to FALSE, NX could be still applied to stack due to PcdDxeNxMemoryProtectionPolicy enabled for EfiBootServicesData.<BR>"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdAcpiS3Enable_PROMPT #language en-US "ACPI S3 Enable"\r
\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFlashNvStorageFtwWorkingBase64_HELP #language en-US "64-bit Base address of the FTW working block range in flash device. If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this value should be block size aligned."\r
\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_PROMPT #language en-US "Reserved memory range for EMU variable NV storage"\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_PROMPT #language en-US "EMU variable NV mode enable"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_HELP #language en-US "Indicates if Variable driver will enable emulated variable NV mode.<BR><BR>"\r
+ "If this PCD is configured to dynamic, its value should be set before Variable driver starts to work,<BR>"\r
+ "otherwise default value will take effect.<BR>"\r
+ "TRUE - An EMU variable NV storage will be allocated or reserved for NV variables.<BR>"\r
+ "FALSE - No EMU variable NV storage will be allocated or reserved for NV variables.<BR>"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_PROMPT #language en-US "Base of reserved memory range for EMU variable NV storage"\r
\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_HELP #language en-US "This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store. The range is valid if non-zero. The memory range size must be PcdVariableStoreSize."\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_HELP #language en-US "This PCD defines the base address of reserved memory range for EMU variable NV storage. A non-ZERO value indicates a valid range reserved with size given by PcdVariableStoreSize."\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintTimes_PROMPT #language en-US "HelloWorld print times"\r
\r
"this PCD to be TURE if and only if all runtime driver has seperated Code/Data\n"\r
"section. If PE code/data sections are merged, the result is unpredictable.\n"\r
\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdIdentifyMappingPageTablePtr_PROMPT #language en-US "Identify Mapping Page Table pointer."\r
-\r
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdIdentifyMappingPageTablePtr_HELP #language en-US "This dynamic PCD hold an address to point to the memory of page table. The page table establishes a 1:1\n"\r
- "Virtual to Physical mapping according to the processor physical address bits."\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdShadowPeimOnBoot_HELP #language en-US "Indicates if to shadow PEIM and PeiCore after memory is ready.<BR><BR>\n"\r
"This PCD is used on other boot path except for S3 boot.\n"\r
"TRUE - Shadow PEIM and PeiCore after memory is ready.<BR>\n"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdCapsuleMax_HELP #language en-US "CapsuleMax value in capsule report variable."\r
\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaximumPeiResetNotifies_PROMPT #language en-US "Maximum Number of PEI Reset Filters, Reset Notifications or Reset Handlers."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdMaximumPeiResetNotifies_HELP #language en-US "Indicates the allowable maximum number of Reset Filters, <BR>\n"\r
+ "Reset Notifications or Reset Handlers in PEI phase."\r
+\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdRecoveryFileName_PROMPT #language en-US "Recover file name in PEI phase"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdRecoveryFileName_HELP #language en-US "This is recover file name in PEI phase.\n"\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdImageProtectionPolicy_HELP #language en-US "Set image protection policy. The policy is bitwise.\n"\r
"If a bit is set, the image will be protected by DxeCore if it is aligned.\n"\r
"The code section becomes read-only, and the data section becomes non-executable.\n"\r
- "If a bit is clear, the image will not be protected.<BR><BR>\n"\r
+ "If a bit is clear, nothing will be done to image code/data sections.<BR><BR>\n"\r
"BIT0 - Image from unknown device. <BR>\n"\r
"BIT1 - Image from firmware volume.<BR>"\r
+ "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><BR>\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
" 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_PcdVpdBaseAddress64_PROMPT #language en-US "64bit VPD base address"\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdVpdBaseAddress64_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