]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Modify FrameworkModules editor for FPD files to meet the new PCD type adjust operatio...
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 2 Nov 2006 11:04:27 +0000 (11:04 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 2 Nov 2006 11:04:27 +0000 (11:04 +0000)
a. Add a module with PCD type Dyn.
If this PCD not exists in platform,
ModuleSA.PcdType is set as Dyn (choose one from spd).
Else
ModuleSA.PcdType is set as existing type ?
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform.)

If PCD type is determined to be Dyn.
Add PCD to DynamicPcdBuildDefinitions if it not exists there.
SkuId = 0;
SkuInfo.value = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
Set ModuleSA.PcdMaxDatumSize;

b. Add a module with PCD type DynEx.
If this PCD not exists in platform,
ModuleSA.PcdType is set as DynEx.
Else
ModuleSA.PcdType is set as existing type ?
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform.)

Add PCD to DynamicPcdBuildDefinitions if it not exists there.
SkuId = 0;
SkuInfo.value = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
    Set ModuleSA.PcdMaxDatumSize;

c. Add a module with PCD type FixedAtBuild, PIM, FF
If this PCD not exists in platform,
ModuleSA.PcdType is set as FaB | PIM | FF.
Else
ModuleSA.PcdType is set as existing type ?
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform..)

ModuleSA.PcdValue = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
Set ModuleSA.PcdMaxDatumSize;

d. Edit ModuleSA.PcdType
Get the corresponding MSA.PcdType in MSA file for this ModuleSA.

If MSA.PcdType == Dyn.
ModuleSA.PcdType could be [(valid Pcd types in SPD)]

    Else
ModuleSA.PcdType can NOT be changed.

1) Change ModuleSa.PcdType from Dynamic. to [valid Pcd types in SPD]:
All same PCDs in FrameworkModules are changed to one of valid Pcd types in SPD according to user selection.
Check in whole platform other ModuleSA for the same pcd, if the corresponding MSAes for other ModuleSAes pcd can NOT accept the new type, give error message.

Keep old ModuleSA.PcdValue.
Remove this PCD in DynamicPcdBuildDefintion.

2) Change ModuleSa.PcdType from [FaBor PIM] to Dynamic, DynEx.:
All same PCDs in FrameworkModules are changed to Dynamic | DynEx.
Check in whole platform other ModuleSA for the same pcd, if the corresponding MSAes for other ModuleSAes pcd can NOT accept the new type, give error message.

Keep old ModuleSA.PcdValue?
Add one new dynamic PCD in DynamicPcdBuildDefintion.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1888 6f19259b-4bc3-4df7-8a09-765794883524


No differences found