mirror_edk2/BaseTools/Source/Python/AutoGen
Liming Gao 2b8a6c44e0 BaseTools: PcdDataBase Optimization for multiple SkuIds
https://bugzilla.tianocore.org/show_bug.cgi?id=546
BaseTools will generate the optimized PCD database to save the image size
at build time for multiple SKUs. The optimized PCD database layout will be like
below, the PCD database will be composed of the full default SKU data
(PCD_DATABASE_INIT) and the non-default SKU delta data(PCD_DATABASE_SKU_DELTA).
PCD driver will build HOB to store the full default SKU data, and patch HOB
data based on non-default SKU delta data for the SKU set by SetSku(),
it can save memory resource at boot time.

//
// PCD database layout:
// +---------------------------------+
// | PCD_DATABASE_INIT (DEFAULT SKU) |
// +---------------------------------+
// | PCD_DATABASE_SKU_DELTA (SKU A)  |
// +---------------------------------+
// | PCD_DATABASE_SKU_DELTA (SKU B)  |
// +---------------------------------+
// | ......                          |
// +---------------------------------+
//

BaseTools, PCD database and driver updates are needed for this proposal.
For single SKU (default) case, this proposal is expected to have no impact.
For multi-SKU case, PCD database format will be changed.
So, PcdDataBase Version is also updated from 6 to 7.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Feng Bob C <bob.c.feng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-12-25 11:05:47 +08:00
..
__init__.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
AutoGen.py BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
BuildEngine.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
GenC.py BaseTools: Support Structure PCD value inherit between the different SKUs 2017-12-25 11:05:47 +08:00
GenDepex.py BaseTools/AutoGen: auto generate MM template APIs and dependencies. 2017-07-07 10:49:13 +08:00
GenMake.py BaseTools: Add object_files.lst as dependency of lib target 2017-12-10 08:56:56 +08:00
GenPcdDb.py BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
GenVar.py BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
IdfClassObject.py BaseTools: add error check for "#image" for idf file format 2016-12-02 11:00:43 +08:00
InfSectionParser.py BaseTools: Copy "TianoCore" userextensions into As Built Inf 2017-06-24 23:00:08 +08:00
StrGather.py BaseTools: support generating image package from BMP/JPEG/PNG files 2016-09-27 09:43:28 +08:00
UniClassObject.py BaseTools: Allow string token identifier to use lower case letters 2016-08-08 10:52:31 +08:00
ValidCheckingInfoObject.py BaseTools: Fix build fail when the number in validlist is long type. 2015-08-21 01:09:16 +00:00