From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com []) by mx.groups.io with SMTP id smtpd.web12.20661.1621848318087911213 for ; Mon, 24 May 2021 02:25:18 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: zhiguang.liu@intel.com) IronPort-SDR: gOcYKGXwP1j/1UxeRExyyYWPm8cQpExh4ne7qVEVPGm4C4Zl+WJjivxHdc2/EB1uceKVLwplmP m/qd3QlkEhVQ== X-IronPort-AV: E=McAfee;i="6200,9189,9993"; a="263104101" X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208";a="263104101" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2021 02:25:18 -0700 IronPort-SDR: JAoMesOZDPfSEztm6RNHi1d60VlcDDNR7uhVNfG7kzKIdNlGALZVFXlZ2cdi9bn2v4vyPLFjW0 Jl0NP2HKFgHg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208";a="545848994" Received: from fieedk002.ccr.corp.intel.com ([10.239.158.144]) by fmsmga001.fm.intel.com with ESMTP; 24 May 2021 02:25:16 -0700 From: "Zhiguang Liu" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao Subject: [PATCH 1/2] MdePkg: Standalone PCD driver Date: Mon, 24 May 2021 17:24:53 +0800 Message-Id: <20210524092454.1168-2-zhiguang.liu@intel.com> X-Mailer: git-send-email 2.30.0.windows.2 In-Reply-To: <20210524092454.1168-1-zhiguang.liu@intel.com> References: <20210524092454.1168-1-zhiguang.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Add a feature PCD to control if the PCD driver is build as standalone mode. This way, two mode PCD driver won't share the data base. Cc: Michael D Kinney Cc: Liming Gao Signed-off-by: Zhiguang Liu --- MdeModulePkg/Universal/PCD/Dxe/Pcd.c | 75 ++++++++++++++++++++++++++= +++++++++++++++++++++++++------------------------ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf | 16 ++++++++++++---- MdeModulePkg/Universal/PCD/Dxe/Service.c | 7 ++++++- MdePkg/Include/Protocol/Pcd.h | 5 ----- MdePkg/Include/Protocol/PcdInfo.h | 5 ----- MdePkg/Library/DxePcdLib/DxePcdLib.c | 24 ++++++++++++++++++++---- MdePkg/Library/DxePcdLib/DxePcdLib.inf | 16 ++++++++++++---- MdePkg/Library/DxePcdLib/PayloadPcdLib.inf | 71 ++++++++++++++++++++++++++= +++++++++++++++++++++++++++++++++++++++++++++ MdePkg/MdePkg.dec | 12 ++++++++++++ 9 files changed, 184 insertions(+), 47 deletions(-) diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c b/MdeModulePkg/Universal/= PCD/Dxe/Pcd.c index cdb9b4fac1..dc9c4be022 100644 --- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c +++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c @@ -129,34 +129,61 @@ PcdDxeInit ( //=0D // Make sure the Pcd Protocol is not already installed in the system=0D //=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEdkiiPayloadStandalonePcdPr= otocolGuid);=0D + BuildPcdDxeDataBase ();=0D =0D - ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gPcdProtocolGuid);=0D + //=0D + // Install PCD_PROTOCOL to handle dynamic type PCD=0D + // Install EFI_PCD_PROTOCOL to handle dynamicEx type PCD=0D + //=0D + Status =3D gBS->InstallMultipleProtocolInterfaces (=0D + &mPcdHandle,=0D + &gEdkiiPayloadStandalonePcdProtocolGuid, &mPcdInst= ance,=0D + &gEdkiiEfiPayloadStandalonePcdProtocolGuid, &mEfiPcdI= nstance,=0D + NULL=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D =0D - BuildPcdDxeDataBase ();=0D + //=0D + // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD=0D + // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD=0D + //=0D + Status =3D gBS->InstallMultipleProtocolInterfaces (=0D + &mPcdHandle,=0D + &gEdkiiPayloadGetStandalonePcdInfoProtocolGuid, &m= GetPcdInfoInstance,=0D + &gEdkiiEfiPayloadGetStandalonePcdInfoProtocolGuid, &m= EfiGetPcdInfoInstance,=0D + NULL=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D + } else {=0D + ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gPcdProtocolGuid);=0D + BuildPcdDxeDataBase ();=0D =0D - //=0D - // Install PCD_PROTOCOL to handle dynamic type PCD=0D - // Install EFI_PCD_PROTOCOL to handle dynamicEx type PCD=0D - //=0D - Status =3D gBS->InstallMultipleProtocolInterfaces (=0D - &mPcdHandle,=0D - &gPcdProtocolGuid, &mPcdInstance,=0D - &gEfiPcdProtocolGuid, &mEfiPcdInstance,=0D - NULL=0D - );=0D - ASSERT_EFI_ERROR (Status);=0D + //=0D + // Install PCD_PROTOCOL to handle dynamic type PCD=0D + // Install EFI_PCD_PROTOCOL to handle dynamicEx type PCD=0D + //=0D + Status =3D gBS->InstallMultipleProtocolInterfaces (=0D + &mPcdHandle,=0D + &gPcdProtocolGuid, &mPcdInstance,=0D + &gEfiPcdProtocolGuid, &mEfiPcdInstance,=0D + NULL=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D =0D - //=0D - // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD=0D - // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD=0D - //=0D - Status =3D gBS->InstallMultipleProtocolInterfaces (=0D - &mPcdHandle,=0D - &gGetPcdInfoProtocolGuid, &mGetPcdInfoInstance,=0D - &gEfiGetPcdInfoProtocolGuid, &mEfiGetPcdInfoInstance,=0D - NULL=0D - );=0D - ASSERT_EFI_ERROR (Status);=0D + //=0D + // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD=0D + // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD=0D + //=0D + Status =3D gBS->InstallMultipleProtocolInterfaces (=0D + &mPcdHandle,=0D + &gGetPcdInfoProtocolGuid, &mGetPcdInfoInstance,=0D + &gEfiGetPcdInfoProtocolGuid, &mEfiGetPcdInfoInstance,= =0D + NULL=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D + }=0D =0D //=0D // Register callback function upon VariableLockProtocol=0D diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf b/MdeModulePkg/Universa= l/PCD/Dxe/Pcd.inf index eb9f757f14..f3e704f083 100644 --- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf +++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -329,10 +329,15 @@ gEfiMdeModulePkgTokenSpaceGuid ## SOMETIMES_CONSUMES ## = GUID=0D =0D [Protocols]=0D - gPcdProtocolGuid ## PRODUCES=0D - gEfiPcdProtocolGuid ## PRODUCES=0D - gGetPcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D - gEfiGetPcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D + gPcdProtocolGuid ## PRODUCES=0D + gEfiPcdProtocolGuid ## PRODUCES=0D + gGetPcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D + gEfiGetPcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D +=0D + gEdkiiPayloadStandalonePcdProtocolGuid ## PRODUCES=0D + gEdkiiEfiPayloadStandalonePcdProtocolGuid ## PRODUCES=0D + gEdkiiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D + gEdkiiEfiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_PRODUCES=0D ## NOTIFY=0D ## SOMETIMES_CONSUMES=0D gEdkiiVariableLockProtocolGuid=0D @@ -342,6 +347,9 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress64 ## SOMETIMES_CONSU= MES=0D gEfiMdeModulePkgTokenSpaceGuid.PcdSetNvStoreDefaultId ## SOMETIMES_CONSU= MES=0D =0D +[FeaturePcd]=0D + gEfiMdePkgTokenSpaceGuid.PcdStandalonePcdDatabaseEnable ## CONSUMES=0D +=0D [Depex]=0D TRUE=0D =0D diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c b/MdeModulePkg/Univer= sal/PCD/Dxe/Service.c index ea7edc3cbb..fe16ba713b 100644 --- a/MdeModulePkg/Universal/PCD/Dxe/Service.c +++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c @@ -861,7 +861,12 @@ BuildPcdDxeDataBase ( CopyMem (PcdDxeDb, mPcdDatabase.DxeDb, mPcdDatabase.DxeDb->Length);=0D mPcdDatabase.DxeDb =3D PcdDxeDb;=0D =0D - GuidHob =3D GetFirstGuidHob (&gPcdDataBaseHobGuid);=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + GuidHob =3D NULL;=0D + } else {=0D + GuidHob =3D GetFirstGuidHob (&gPcdDataBaseHobGuid);=0D + }=0D +=0D if (GuidHob !=3D NULL) {=0D =0D //=0D diff --git a/MdePkg/Include/Protocol/Pcd.h b/MdePkg/Include/Protocol/Pcd.h index 9cd1a998f8..cfa6ac2360 100644 --- a/MdePkg/Include/Protocol/Pcd.h +++ b/MdePkg/Include/Protocol/Pcd.h @@ -17,11 +17,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #ifndef __PCD_H__=0D #define __PCD_H__=0D =0D -extern EFI_GUID gPcdProtocolGuid;=0D -=0D -#define PCD_PROTOCOL_GUID \=0D - { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe,= 0xf7 } }=0D -=0D #define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)=0D =0D =0D diff --git a/MdePkg/Include/Protocol/PcdInfo.h b/MdePkg/Include/Protocol/Pc= dInfo.h index b0ec7f6770..5691215c42 100644 --- a/MdePkg/Include/Protocol/PcdInfo.h +++ b/MdePkg/Include/Protocol/PcdInfo.h @@ -19,11 +19,6 @@ #ifndef __PCD_INFO_H__=0D #define __PCD_INFO_H__=0D =0D -extern EFI_GUID gGetPcdInfoProtocolGuid;=0D -=0D -#define GET_PCD_INFO_PROTOCOL_GUID \=0D - { 0x5be40f57, 0xfa68, 0x4610, { 0xbb, 0xbf, 0xe9, 0xc5, 0xfc, 0xda, 0xd3= , 0x65 } }=0D -=0D ///=0D /// The forward declaration for GET_PCD_INFO_PROTOCOL.=0D ///=0D diff --git a/MdePkg/Library/DxePcdLib/DxePcdLib.c b/MdePkg/Library/DxePcdLi= b/DxePcdLib.c index 2accaeda2c..8a61486832 100644 --- a/MdePkg/Library/DxePcdLib/DxePcdLib.c +++ b/MdePkg/Library/DxePcdLib/DxePcdLib.c @@ -43,7 +43,11 @@ GetPiPcdProtocol ( // PI Pcd protocol defined in PI 1.2 vol3 should be installed before t= he module=0D // access DynamicEx type PCD.=0D //=0D - Status =3D gBS->LocateProtocol (&gEfiPcdProtocolGuid, NULL, (VOID **) = &mPiPcd);=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + Status =3D gBS->LocateProtocol (&gEdkiiEfiPayloadStandalonePcdProtoc= olGuid, NULL, (VOID **) &mPiPcd);=0D + } else {=0D + Status =3D gBS->LocateProtocol (&gEfiPcdProtocolGuid, NULL, (VOID **= ) &mPiPcd);=0D + }=0D ASSERT_EFI_ERROR (Status);=0D ASSERT (mPiPcd !=3D NULL);=0D }=0D @@ -68,7 +72,11 @@ GetPcdProtocol ( // PCD protocol need to be installed before the module access Dynamic = type PCD.=0D // But dynamic type PCD is not required in PI 1.2 specification.=0D //=0D - Status =3D gBS->LocateProtocol (&gPcdProtocolGuid, NULL, (VOID **)&mPc= d);=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + Status =3D gBS->LocateProtocol (&gEdkiiPayloadStandalonePcdProtocolG= uid, NULL, (VOID **)&mPcd);=0D + } else {=0D + Status =3D gBS->LocateProtocol (&gPcdProtocolGuid, NULL, (VOID **)&m= Pcd);=0D + }=0D ASSERT_EFI_ERROR (Status);=0D ASSERT (mPcd !=3D NULL);=0D }=0D @@ -88,7 +96,11 @@ GetPiPcdInfoProtocolPointer ( EFI_STATUS Status;=0D =0D if (mPiPcdInfo =3D=3D NULL) {=0D - Status =3D gBS->LocateProtocol (&gEfiGetPcdInfoProtocolGuid, NULL, (VO= ID **)&mPiPcdInfo);=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + Status =3D gBS->LocateProtocol (&gEdkiiEfiPayloadGetStandalonePcdInf= oProtocolGuid, NULL, (VOID **)&mPiPcdInfo);=0D + } else{=0D + Status =3D gBS->LocateProtocol (&gEfiGetPcdInfoProtocolGuid, NULL, (= VOID **)&mPiPcdInfo);=0D + }=0D ASSERT_EFI_ERROR (Status);=0D ASSERT (mPiPcdInfo !=3D NULL);=0D }=0D @@ -108,7 +120,11 @@ GetPcdInfoProtocolPointer ( EFI_STATUS Status;=0D =0D if (mPcdInfo =3D=3D NULL) {=0D - Status =3D gBS->LocateProtocol (&gGetPcdInfoProtocolGuid, NULL, (VOID = **)&mPcdInfo);=0D + if (FeaturePcdGet (PcdStandalonePcdDatabaseEnable)) {=0D + Status =3D gBS->LocateProtocol (&gEdkiiPayloadGetStandalonePcdInfoPr= otocolGuid, NULL, (VOID **)&mPcdInfo);=0D + } else {=0D + Status =3D gBS->LocateProtocol (&gGetPcdInfoProtocolGuid, NULL, (VOI= D **)&mPcdInfo);=0D + }=0D ASSERT_EFI_ERROR (Status);=0D ASSERT (mPcdInfo !=3D NULL);=0D }=0D diff --git a/MdePkg/Library/DxePcdLib/DxePcdLib.inf b/MdePkg/Library/DxePcd= Lib/DxePcdLib.inf index 3d4d21b442..59d9fe4f11 100644 --- a/MdePkg/Library/DxePcdLib/DxePcdLib.inf +++ b/MdePkg/Library/DxePcdLib/DxePcdLib.inf @@ -53,10 +53,18 @@ =0D =0D [Protocols]=0D - gPcdProtocolGuid ## SOMETIMES_CONSUMES=0D - gEfiPcdProtocolGuid ## CONSUMES=0D - gGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D - gEfiGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D + gPcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEfiPcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D + gEfiGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D +=0D + gEdkiiPayloadStandalonePcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiEfiPayloadStandalonePcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiEfiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D +=0D +[FeaturePcd]=0D + gEfiMdePkgTokenSpaceGuid.PcdStandalonePcdDatabaseEnable ## CONSUMES=0D =0D [Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DX= E_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]=0D gEfiPcdProtocolGuid=0D diff --git a/MdePkg/Library/DxePcdLib/PayloadPcdLib.inf b/MdePkg/Library/Dx= ePcdLib/PayloadPcdLib.inf new file mode 100644 index 0000000000..e61296e11a --- /dev/null +++ b/MdePkg/Library/DxePcdLib/PayloadPcdLib.inf @@ -0,0 +1,71 @@ +## @file=0D +# Instance of PCD Library using PCD Protocol.=0D +#=0D +# There are two PCD protocols as follows:=0D +# 1) PCD_PROTOCOL=0D +# It is EDKII implementation which support Dynamic/DynamicEx Pcds.=0D +# 2) EFI_PCD_PROTOCOL=0D +# It is defined by PI specification 1.2, Vol 3 which only support dyn= amicEx=0D +# type Pcd.=0D +#=0D +# For dynamicEx type PCD, it is compatible between PCD_PROTOCOL and EFI_PC= D_PROTOCOL.=0D +#=0D +# This library instance uses the PCD_PROTOCOL to handle dynamic PCD reques= t and use=0D +# EFI_PCD_PROTOCOL to handle dynamicEx type PCD.=0D +#=0D +# Note: A driver of type DXE_RUNTIME_DRIVER and DXE_SMM_DRIVER can only us= e this DxePcdLib=0D +# in their initialization without any issues to access Dynamic and Dynami= cEx PCD. They can't=0D +# access Dynamic and DynamicEx PCD in the implementation of runtime servi= ces and SMI handlers.=0D +# Because EFI_PCD_PROTOCOL is DXE protocol that is not available in OS ru= ntime phase.=0D +#=0D +# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
=0D +#=0D +# SPDX-License-Identifier: BSD-2-Clause-Patent=0D +#=0D +#=0D +##=0D +=0D +[Defines]=0D + INF_VERSION =3D 0x00010005=0D + BASE_NAME =3D DxePcdLib=0D + MODULE_UNI_FILE =3D DxePcdLib.uni=0D + FILE_GUID =3D f9af2f38-09e2-4ff1-b661-5d1c19d9f75c= =0D + MODULE_TYPE =3D DXE_DRIVER=0D + VERSION_STRING =3D 1.0=0D + LIBRARY_CLASS =3D PcdLib|DXE_CORE DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SMM_DRIVER SMM_CORE UEFI_APPLICATION UEFI_DRIVER=0D +=0D +#=0D +# VALID_ARCHITECTURES =3D IA32 X64 EBC=0D +#=0D +=0D +[Sources]=0D + DxePcdLib.c=0D +=0D +=0D +[Packages]=0D + MdePkg/MdePkg.dec=0D +=0D +=0D +[LibraryClasses]=0D + BaseMemoryLib=0D + UefiBootServicesTableLib=0D + DebugLib=0D +=0D +=0D +[Protocols]=0D + gPcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEfiPcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D + gEfiGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D +=0D + gEdkiiPayloadStandalonePcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiEfiPayloadStandalonePcdProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D + gEdkiiEfiPayloadGetStandalonePcdInfoProtocolGuid ## SOMETIMES_CONSUMES=0D +=0D +[FeaturePcd]=0D + gEfiMdePkgTokenSpaceGuid.PcdStandalonePcdDatabaseEnable ## CONSUMES=0D +=0D +[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DX= E_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]=0D + gEdkiiEfiPayloadStandalonePcdProtocolGuid=0D +=0D diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index b49f88d8e1..44f60e2086 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -1000,6 +1000,12 @@ ## Include/Protocol/PcdInfo.h=0D gGetPcdInfoProtocolGuid =3D { 0x5be40f57, 0xfa68, 0x4610, { 0xbb,= 0xbf, 0xe9, 0xc5, 0xfc, 0xda, 0xd3, 0x65 } }=0D =0D + ## Payload Standalone Pcd Protocol=0D + gEdkiiPayloadStandalonePcdProtocolGuid =3D {0x8ef6ff48, 0x226= 0, 0x5407, {0x0d, 0x18, 0x2e, 0x2c, 0xaa, 0x7d, 0xc9, 0x1f}}=0D + gEdkiiEfiPayloadStandalonePcdProtocolGuid =3D {0x7e50c422, 0xae7= 6, 0xbdc9, {0x16, 0x66, 0xca, 0x67, 0x95, 0x04, 0x4d, 0xea}}=0D + gEdkiiPayloadGetStandalonePcdInfoProtocolGuid =3D {0xd7214c03, 0x27e= 0, 0x5b35, {0xd5, 0xb1, 0xeb, 0x1a, 0x50, 0x14, 0x5e, 0x15}}=0D + gEdkiiEfiPayloadGetStandalonePcdInfoProtocolGuid =3D {0x1039ecdf, 0x590= 8, 0xf76c, {0x51, 0xf9, 0xae, 0x09, 0xc5, 0xa9, 0x68, 0x9e}}=0D +=0D #=0D # Protocols defined in PI1.0.=0D #=0D @@ -1945,6 +1951,12 @@ # @Prompt Validate ORDERED_COLLECTION structure=0D gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|FALSE|BOOLEAN|0x00= 00002a=0D =0D + ## Indicates if the standalone PCD database is enabled for Payload.
<= BR>=0D + # TRUE - Enable tandalone PCD database is enabled for Payload.
=0D + # FALSE - Disable tandalone PCD database is enabled for Payload.
=0D + # @Prompt Enable tandalone PCD database is enabled for Payload.=0D + gEfiMdePkgTokenSpaceGuid.PcdStandalonePcdDatabaseEnable|FALSE|BOOLEAN|0x= 0000002e=0D +=0D [PcdsFixedAtBuild]=0D ## Status code value for indicating a watchdog timer has expired.=0D # EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_TIMER_EXPIRED=0D --=20 2.30.0.windows.2