## @file # Instance of PCD Library using PCD Protocol. # # There are two PCD protocols as follows: # 1) PCD_PROTOCOL # It is EDKII implementation which support Dynamic/DynamicEx Pcds. # 2) EFI_PCD_PROTOCOL # It is defined by PI specification 1.2, Vol 3 which only support dynamicEx # type Pcd. # # For dynamicEx type PCD, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL. # # This library instance uses the PCD_PROTOCOL to handle dynamic PCD request and use # EFI_PCD_PROTOCOL to handle dynamicEx type PCD. # # Note: A driver of type DXE_RUNTIME_DRIVER and DXE_SMM_DRIVER can only use this DxePcdLib # in their initialization without any issues to access Dynamic and DynamicEx PCD. They can't # access Dynamic and DynamicEx PCD in the implementation of runtime services and SMI handlers. # Because EFI_PCD_PROTOCOL is DXE protocol that is not available in OS runtime phase. # # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # # ## [Defines] INF_VERSION = 0x00010005 BASE_NAME = DxePcdLib MODULE_UNI_FILE = DxePcdLib.uni FILE_GUID = af97eb89-4cc6-45f8-a514-ca025b346480 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 LIBRARY_CLASS = PcdLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE UEFI_APPLICATION UEFI_DRIVER # # VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] DxePcdLib.c [Packages] MdePkg/MdePkg.dec [LibraryClasses] BaseMemoryLib UefiBootServicesTableLib DebugLib [Protocols] gPcdProtocolGuid ## SOMETIMES_CONSUMES gEfiPcdProtocolGuid ## CONSUMES gGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES gEfiGetPcdInfoProtocolGuid ## SOMETIMES_CONSUMES [Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER] gEfiPcdProtocolGuid