audk/BaseTools/Source/Python
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
..
AutoGen BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
BPDG BaseTools/BPDG: Fix the bug to get the PCD Size 2016-03-14 11:33:12 +08:00
Common BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
CommonDataClass BaseTools: Support Structure PCD value inherit between the different SKUs 2017-12-25 11:05:47 +08:00
Ecc BaseTools/Ecc: Add line break support for exception list 2017-05-11 09:29:08 +08:00
Eot BaseTools/Eot: register MM Module types with FFS class. 2017-07-07 10:54:16 +08:00
GenFds BaseTools: Fix the incorrect indent introduced by 37de70 2017-12-13 16:05:20 +08:00
GenPatchPcdTable BaseTools: parse map file generated by Xcode on Mac 2017-11-03 14:30:49 +08:00
PatchPcdValue BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
Pkcs7Sign BaseTools: Pkcs7Sign Tool to support OPENSSL_PATH has space 2017-04-27 21:19:29 +08:00
Rsa2048Sha256Sign BaseTools: Rsa2048Sha256GenerateKeys to support OPENSSL_PATH has space 2017-04-27 21:21:30 +08:00
Table BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
TargetTool
Trim BaseTools: Update Trim to generate VfrBinOffset Binary 2017-12-05 09:24:34 +08:00
UPT BaseTools/UPT: Fix UNI file name issue 2017-08-24 21:39:50 +08:00
Workspace BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
build BaseTools: enable hash value check for single module build 2017-12-13 16:07:48 +08:00
GNUmakefile
Makefile BaseTools: List missing source python files for Ecc tool in Makefile 2016-09-27 16:26:13 +08:00
sitecustomize.py