Liming,

I agree I don't think this has been thought about. 

Does the edk2 still support booting a split PEI from ROM and DXE from capsule 
for update? If yes that seems to imply the assumption is that platform would 
not change any Dynamic PCD layout, or update the PCD database versions. If you 
have a platform in a common core base, and update the EDK2 code to pick up 
security fixes it seems the PCD data base implies you have to freeze Dynamic 
PCD usage in your common core? 

Thanks,

Andrew Fish

> On Feb 11, 2020, at 7:54 PM, Liming Gao <liming....@intel.com> wrote:
> 
> Andrew:
>  Current implementation requires PEI PcdDB and DXE PcdDB match. This is like 
> a new request for PCD DataBase. It requests PCD DB binary format and Dynamic 
> PCD token assignment be compatible in the different version.
> 
> Thanks
> Liming
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Andrew Fish 
>> via Groups.Io
>> Sent: Tuesday, February 11, 2020 1:39 AM
>> To: devel@edk2.groups.io
>> Subject: [edk2-devel] PCD Migration issue
>> 
>> We recently hit an issue when updating our UDK version in our common code 
>> base. Our recovery update path started failing for older
>> platforms since the PEI was the old UDK version and the DXE from the Capsule 
>> was the new UDK version. Basically the version of the PCD
>> changed. It looks like there are some checks, but the seem to be more about 
>> making sure the build systems matches the code vs. dealing
>> with an update case like we hit.
>> 
>> It does not look like the PCD database is designed to deal with this. We are 
>> fixing this by extracting the PEI PCD database from the
>> capsule and then having some platform specific code to patch any PCD entries 
>> that got set in PEI that are needed by DXE.
>> 
>> In the future it would be helpful if the PCD database would change in some 
>> what of a backward compatible way, and have the headers
>> needed to parse the old and new version.
>> 
>> It also seems like adding a Dynamic PCD could potentially change the token 
>> layout and thus break compatibility? Is there any scheme to
>> keep a previous token layout?
>> 
>> Thanks,
>> 
>> Andrew Fish
>> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#54257): https://edk2.groups.io/g/devel/message/54257
Mute This Topic: https://groups.io/mt/71143835/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to