# and libraries instances, which are used for those modules.\r
#\r
# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.\r
-# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2020, Intel Corporation. All rights reserved.<BR>\r
# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r
# (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development LP<BR>\r
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
# @Prompt Degrade 64-bit PCI MMIO BARs for legacy BIOS option ROMs\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|TRUE|BOOLEAN|0x0001003a\r
\r
+ ## Indicates if the platform can support process non-reset capsule image at runtime.<BR><BR>\r
+ # TRUE - Supports process non-reset capsule image at runtime.<BR>\r
+ # FALSE - Does not support process non-reset capsule image at runtime.<BR>\r
+ # @Prompt Enable process non-reset capsule image at runtime.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSupportProcessCapsuleAtRuntime|FALSE|BOOLEAN|0x00010079\r
+\r
[PcdsFeatureFlag.IA32, PcdsFeatureFlag.ARM, PcdsFeatureFlag.AARCH64]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE|BOOLEAN|0x0001003a\r
\r
// 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 - 2019, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2007 - 2020, Intel Corporation. All rights reserved.<BR>\r
//\r
// SPDX-License-Identifier: BSD-2-Clause-Patent\r
//\r
"TRUE - All PCI MMIO BARs of a device will be located below 4 GB if it has an option ROM.<BR>"\r
"FALSE - PCI MMIO BARs of a device may be located above 4 GB even if it has an option ROM.<BR>"\r
\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdSupportProcessCapsuleAtRuntime_PROMPT #language en-US "Enable process non-reset capsule image at runtime."\r
+\r
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdSupportProcessCapsuleAtRuntime_HELP #language en-US "Indicates if the platform can support process non-reset capsule image at runtime.<BR><BR>\n"\r
+ "TRUE - Supports process non-reset capsule image at runtime.<BR>\n"\r
+ "FALSE - Does not support process non-reset capsule image at runtime.<BR>"\r
+\r
+\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdStatusCodeSubClassCapsule_PROMPT #language en-US "Status Code for Capsule subclass definitions"\r
\r
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdStatusCodeSubClassCapsule_HELP #language en-US "Status Code for Capsule subclass definitions.<BR><BR>\n"\r
# It installs the Capsule Architectural Protocol defined in PI1.0a to signify\r
# the capsule runtime services are ready.\r
#\r
-# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
gEdkiiVariableLockProtocolGuid\r
\r
[FeaturePcd]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSupportProcessCapsuleAtRuntime ## CONSUMES\r
\r
[FeaturePcd.X64]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES\r
It installs the Capsule Architectural Protocol defined in PI1.0a to signify\r
the capsule runtime services are ready.\r
\r
-Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
// Platform specific update for the non-reset capsule image.\r
//\r
if ((CapsuleHeader->Flags & CAPSULE_FLAGS_PERSIST_ACROSS_RESET) == 0) {\r
- if (EfiAtRuntime ()) {\r
+ if (EfiAtRuntime () && !FeaturePcdGet (PcdSupportProcessCapsuleAtRuntime)) {\r
Status = EFI_OUT_OF_RESOURCES;\r
} else {\r
Status = ProcessCapsuleImage(CapsuleHeader);\r