[if gte mso 9]>
Subject: Re: [edk2] About PcdsDynamicEx question
From: "Hauch, Larry" <firstname.lastname@example.org>
To: "email@example.com" <firstname.lastname@example.org>
Date: 2012-02-15 00:25:01
The current implementation of the PCI drivers that support Dynamic and DynamicEx PCDs use a database that is created a build time using PCDs from modules that are built from Source. This database is created as a structure in the AutoGen files of the PCD drivers and used directly by the drivers.
We realize that this method does not work with binary modules that use DynamicEx PCDs that are only listed in the FDF file.
We are working on a proposal to update both the EDK II build system and the PEI and DXE PCD drivers to use an external PCD database that will be constructed after the PCD drivers have been built, using Dynamic and DynamicEx PCDs from source modules listed in the DSC file and DynamicEx PCDs from binary modules listed in just the FDF file.
The binary module’s INF file will be required to list the PCD in a [PcdEx] section, the DSC file will be required to list the PCD in one of the [PcdsDynamicEx*] sections and the PCD must still be declared in a DEC file that is in the WORKSPACE.
I have some questions about Dynamic Pcd.
I have a driver that binary release, then generation in FD image.
(I mean without platform build. But in *.fdf include the driver that is binary.)
Why do I use the PcdGetEx32 (&gEfixxxxGuid, Pcdxxxx) that can not get the DynamicEx Pcd value.
In *.dsc file [PcdsDynamicExDefault.common.Default]
Does Pcd Database generate in build time?
If Pcd Database generates in build time, a module is released as binary and is not included in the platform build.
Then Dynamic Pcd will not generate in Pcd database. So the Dynamic/DynamicEx Pcd value can't get it, right?