## @file\r
# Instance of PCD Library using PCD Protocol.\r
#\r
-# There are two PCD PPIs as follows:\r
+# There are two PCD protocols as follows:\r
# 1) PCD_PROTOCOL\r
# It is EDKII implementation which support Dynamic/DynamicEx Pcds.\r
# 2) EFI_PCD_PROTOCOL\r
-# It is defined by PI specification 1.2, Vol 3 which only support dynamicEx \r
+# It is defined by PI specification 1.2, Vol 3 which only support dynamicEx\r
# type Pcd.\r
#\r
# For dynamicEx type PCD, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL.\r
# This library instance uses the PCD_PROTOCOL to handle dynamic PCD request and use\r
# EFI_PCD_PROTOCOL to handle dynamicEx type PCD.\r
#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+# Note: A driver of type DXE_RUNTIME_DRIVER and DXE_SMM_DRIVER can only use this DxePcdLib\r
+# in their initialization without any issues to access Dynamic and DynamicEx PCD. They can't\r
+# access Dynamic and DynamicEx PCD in the implementation of runtime services and SMI handlers.\r
+# Because EFI_PCD_PROTOCOL is DXE protocol that is not aviable in OS runtime phase.\r
+#\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
+# http://opensource.org/licenses/bsd-license.php.\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
#\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = DxePcdLib\r
+ MODULE_UNI_FILE = DxePcdLib.uni\r
FILE_GUID = af97eb89-4cc6-45f8-a514-ca025b346480\r
MODULE_TYPE = DXE_DRIVER\r
VERSION_STRING = 1.0\r
- LIBRARY_CLASS = PcdLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE UEFI_APPLICATION UEFI_DRIVER \r
- CONSTRUCTOR = PcdLibConstructor\r
+ LIBRARY_CLASS = PcdLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE UEFI_APPLICATION UEFI_DRIVER\r
\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
+# VALID_ARCHITECTURES = IA32 X64 EBC\r
#\r
\r
[Sources]\r
\r
\r
[Protocols]\r
- gPcdProtocolGuid ## CONSUMES\r
+ gPcdProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiPcdProtocolGuid ## CONSUMES\r
- \r
-[Depex]\r
+ gGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES\r
+\r
+[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]\r
gEfiPcdProtocolGuid\r
\r