audk/BaseTools/Source/Python/Common
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
..
BuildToolError.py BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
BuildVersion.py BaseTools: Clear build versions to sync with buildtools/BaseTools 2014-07-25 21:10:33 +00:00
DataType.py BaseTools: Support Structure PCD value inherit between the different SKUs 2017-12-25 11:05:47 +08:00
Database.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
DecClassObject.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
Dictionary.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
DscClassObject.py BaseTools: Add support to merge Prebuild and Postbuild into build Process 2016-04-07 13:13:22 +08:00
EdkIIWorkspace.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
EdkIIWorkspaceBuild.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
EdkLogger.py BaseTools/EdkLogger: Support unit tests with a SILENT log level 2015-06-23 23:34:09 +00:00
Expression.py BaseTools: Add PCDs conditional operator function 2017-07-10 09:58:13 +08:00
FdfClassObject.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
FdfParserLite.py BaseTools: extend FFS alignment to 16M 2017-09-25 11:18:22 +08:00
GlobalData.py BaseTools: Support Structure PCD value assignment in DEC/DSC 2017-12-25 11:05:45 +08:00
Identification.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
InfClassObject.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
LongFilePathOs.py This patch is going to: 2014-08-21 07:51:21 +00:00
LongFilePathOsPath.py BaseTools: Update Build tool to support multiple workspaces 2015-10-08 09:27:14 +00:00
LongFilePathSupport.py BaseTools/Ecc: Add a checkpoint for invalid UNI file. 2015-06-25 07:50:55 +00:00
MigrationUtilities.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
Misc.py BaseTools: PcdDataBase Optimization for multiple SkuIds 2017-12-25 11:05:47 +08:00
MultipleWorkspace.py BaseTools: Fix the bug to correctly handle the [BuildOptions] 2016-04-15 08:41:21 +08:00
Parsing.py Sync BaseTool trunk (version r2670) into EDKII BaseTools. 2014-07-01 07:10:10 +00:00
PyUtility.pyd Sync BaseTool trunk (version r2599) into EDKII BaseTools. 2013-08-23 02:18:16 +00:00
RangeExpression.py BaseTools/Build: Fix the range expression evaluation error. 2015-07-06 00:55:15 +00:00
String.py BaseTools: Fix a bug Build directory should relative to WORKSPACE 2017-10-16 16:41:40 +08:00
TargetTxtClassObject.py License header updated to match correct format. 2014-08-28 13:53:34 +00:00
ToolDefClassObject.py BaseTools: Support Structure PCD value assignment in DEC/DSC 2017-12-25 11:05:45 +08:00
VariableAttributes.py BaseTools/Build: Add SDL support 2015-04-10 06:59:47 +00:00
VpdInfoFile.py BaseTools: PcdDataBase Optimization for multiple SkuIds 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