tree: 9d88c8011e1efef6e6d2a46c56b23c61c77aeb33 [path history] [tgz]
  1. AppPkg/
  2. ArmPkg/
  3. ArmPlatformPkg/
  4. ArmVirtPkg/
  5. BaseTools/
  6. BeagleBoardPkg/
  7. Conf/
  8. CorebootModulePkg/
  9. CorebootPayloadPkg/
  10. CryptoPkg/
  11. DuetPkg/
  12. EdkCompatibilityPkg/
  13. EdkShellBinPkg/
  14. EdkShellPkg/
  15. EmbeddedPkg/
  16. EmulatorPkg/
  17. FatBinPkg/
  18. FatPkg/
  19. IntelFrameworkModulePkg/
  20. IntelFrameworkPkg/
  21. IntelFsp2Pkg/
  22. IntelFsp2WrapperPkg/
  23. IntelFspPkg/
  24. IntelFspWrapperPkg/
  25. IntelSiliconPkg/
  26. MdeModulePkg/
  27. MdePkg/
  28. NetworkPkg/
  29. Nt32Pkg/
  30. Omap35xxPkg/
  31. OptionRomPkg/
  32. OvmfPkg/
  33. PcAtChipsetPkg/
  34. PerformancePkg/
  35. QuarkPlatformPkg/
  36. QuarkSocPkg/
  37. SecurityPkg/
  38. ShellBinPkg/
  39. ShellPkg/
  40. SignedCapsulePkg/
  41. SourceLevelDebugPkg/
  42. StdLib/
  43. StdLibPrivateInternalFiles/
  44. TestPkg/
  45. UefiCpuPkg/
  46. UnixPkg/
  47. Vlv2DeviceRefCodePkg/
  48. Vlv2TbltDevicePkg/
  49. .gitignore
  50. BuildNotes2.txt
  51. Edk2Setup.bat
  52. edksetup.bat
  53. edksetup.sh
  54. Maintainers.txt
  55. Readme.MD
Readme.MD

This branch is used to enable Structure PCD feature. It bases on edk2 repo UDK2017 branch.

The branch owner: Gao, Liming liming.gao@intel.com Zhu, Yonghong yonghong.zhu@intel.com Zeng, Star star.zeng@intel.com Feng, Bob C bob.c.feng@intel.com Bi, Dandan dandan.bi@intel.com

Feature Introduction

Structure PCD is to support the same C structure/Enum/Macro definition in PCD and VFR, and specify the value for individual fields in a VOID* PCD in DEC/DSC/FDF/CL. It includes the group of the sub features.

https://bugzilla.tianocore.org/show_bug.cgi?id=541 [BaseTools] Extended PCD Value Syntax to support the flexible value formats

https://bugzilla.tianocore.org/show_bug.cgi?id=542 [BaseTools] Structure PCD value assignment in DEC/DSC The first version POC has been added to support FixedAtBuild and Patchable StructurePcd value assignment in dec and dsc file. TestPkg DEC/DSC and Application shows StructurePcd declaration, value assignment and consumed in source code. TestPkg TestApp can directly be built with build command. POC has been updated to support DynamicPcd/DynamicExPcd. TestPkg DSC/FDF are updated to include NT32 emualtion platform. TestPkg TestApp are updated to consume structure PCD with all types. POC has been updated to support PCD when more than one SkuId. TestPkg.dsc adds two SKUIDs cases.

https://bugzilla.tianocore.org/show_bug.cgi?id=543 [BaseTools] Extended SKU Support - Inheritance

https://bugzilla.tianocore.org/show_bug.cgi?id=544 [BaseTools] PCD: Extended SKU support 2 - sub SKU

https://bugzilla.tianocore.org/show_bug.cgi?id=545 [BaseTools] Support Bit fields used as EFI VarStore/Buffer VarStore in VFR POC has been pushed. MdeModulePkg/DriverSample is also updated to add the sample code to show the structure with bit field and UNION type.

https://bugzilla.tianocore.org/show_bug.cgi?id=546 [PCD] Pcd Database size optimization for multi-SKU

https://bugzilla.tianocore.org/show_bug.cgi?id=603 [BaseTools] VfrCompiler supports UNION type as VarStore in VFR

https://bugzilla.tianocore.org/show_bug.cgi?id=611 Collect DynamicHii PCD value as the default setting for EFI Variable and HII VarStore

Timeline

Target for 2017

NOTES

Some changes in this branch are in BaseTools. To apply them, user needs to run BaseTools from sources. In Linux, BaseTools run from source. In Windows, BaseTools can run from source. The step is like below: cd edk2 set PYTHON_HOME=C:\Python27 edksetup.bat --nt32 nmake -f BaseTools\Makefile build -p TestPkg\TestPkg.dsc -y Report.txt build -p TestPkg\TestPkg.dsc run # trig NT32 platform, and show dynamic PCD.