[edk2] [Patch] Build spec: Add module scoped `<Pcd*>` section override scope statement

Yonghong Zhu posted 1 patch 5 years, 11 months ago
Failed in applying to current master (apply log)
8_pre-build_autogen_stage/82_auto-generation_process.md | 7 ++++++-
README.md                                               | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
[edk2] [Patch] Build spec: Add module scoped `<Pcd*>` section override scope statement
Posted by Yonghong Zhu 5 years, 11 months ago
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
 8_pre-build_autogen_stage/82_auto-generation_process.md | 7 ++++++-
 README.md                                               | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/8_pre-build_autogen_stage/82_auto-generation_process.md b/8_pre-build_autogen_stage/82_auto-generation_process.md
index b4b59db..8f8f29b 100644
--- a/8_pre-build_autogen_stage/82_auto-generation_process.md
+++ b/8_pre-build_autogen_stage/82_auto-generation_process.md
@@ -258,11 +258,11 @@ From the DSC file, the build tools collect the mapping between library classes
 and library instances (INF files), PCD data for the whole platform, the list of
 modules (INF files) specified for the platform, and the build output directory.
 Optionally, the name of the flash image layout description (FDF) file and build
 options specific to the platform are also obtained. Parsing FDF file at this
 time is just for the PCD information which might be used by some modules, and
-merge these PDC values into the information set of PCDs in DSC file.
+merge these PCD values into the information set of PCDs in DSC file.
 
 A PCD entry must only be listed once per section in the DSC or FDF files.
 
 Multiple library class instances for a single library class must not be
 specified in the same `[LibraryClasses]` or `<LibraryClasses>` section in the
@@ -839,10 +839,15 @@ default method.
   listed in a `PcdsDynamicEx` section, then use DynamicEx.
 
 * If not listed in any of the previous sections, and the PCD is listed in the
   `PcdsDynamic` section, then use Dynamic.
 
+If the Platform Integrator does not specify the format, and the PCD state is
+in Platform DSC file `[Components]` section module scoped `<Pcd*>` section, 
+then the PCD used in `[Components]` section module or its linked library INF
+files will use the module scoped `<Pcd*>` type as default type.
+
 Build tools are required to process PCD values for `VOID*` PCDs into byte
 arrays, C format GUIDs or as C format strings (either ASCII or [L]"string")
 prior to autogenerating the code.
 
 PCD values stored in VPD regions are processed prior to completing the final
diff --git a/README.md b/README.md
index 9fb7e93..18e46c9 100644
--- a/README.md
+++ b/README.md
@@ -223,5 +223,6 @@ Copyright (c) 2008-2017, Intel Corporation. All rights reserved.
 |            | [#775](https://bugzilla.tianocore.org/show_bug.cgi?id=775) Build spec: Add description about auto detect thread number                                                                                                                                                                                                                                              |               |
 |            | Add Flexible PCD value format into spec                                                                                                                                                                                                                                                                                                                             |               |
 |            | Update PCD value and SKU, DefaultStore info in build report                                                                                                                                                                                                                                                                                                         |               |
 |            | Clarify structure PCD field value assignment precedence                                                                                                                                                                                                                                                                                                             |               |
 |            | Update description for build handles PCDs for SKU support                                                                                                                                                                                                                                                                                                           |               |
+|            | Add statement about module scoped `<Pcd*>` section override scope                                                                                                                                                                                                                                                                                                            |               |
-- 
2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] Build spec: Add module scoped `<Pcd*>` section override scope statement
Posted by Gao, Liming 5 years, 11 months ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Wednesday, May 23, 2018 11:44 AM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D
><michael.d.kinney@intel.com>; Shaw, Kevin W <kevin.w.shaw@intel.com>
>Subject: [Patch] Build spec: Add module scoped `<Pcd*>` section override
>scope statement
>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Michael Kinney <michael.d.kinney@intel.com>
>Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> 8_pre-build_autogen_stage/82_auto-generation_process.md | 7 ++++++-
> README.md                                               | 1 +
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
>diff --git a/8_pre-build_autogen_stage/82_auto-generation_process.md
>b/8_pre-build_autogen_stage/82_auto-generation_process.md
>index b4b59db..8f8f29b 100644
>--- a/8_pre-build_autogen_stage/82_auto-generation_process.md
>+++ b/8_pre-build_autogen_stage/82_auto-generation_process.md
>@@ -258,11 +258,11 @@ From the DSC file, the build tools collect the mapping
>between library classes
> and library instances (INF files), PCD data for the whole platform, the list of
> modules (INF files) specified for the platform, and the build output directory.
> Optionally, the name of the flash image layout description (FDF) file and build
> options specific to the platform are also obtained. Parsing FDF file at this
> time is just for the PCD information which might be used by some modules,
>and
>-merge these PDC values into the information set of PCDs in DSC file.
>+merge these PCD values into the information set of PCDs in DSC file.
>
> A PCD entry must only be listed once per section in the DSC or FDF files.
>
> Multiple library class instances for a single library class must not be
> specified in the same `[LibraryClasses]` or `<LibraryClasses>` section in the
>@@ -839,10 +839,15 @@ default method.
>   listed in a `PcdsDynamicEx` section, then use DynamicEx.
>
> * If not listed in any of the previous sections, and the PCD is listed in the
>   `PcdsDynamic` section, then use Dynamic.
>
>+If the Platform Integrator does not specify the format, and the PCD state is
>+in Platform DSC file `[Components]` section module scoped `<Pcd*>` section,
>+then the PCD used in `[Components]` section module or its linked library INF
>+files will use the module scoped `<Pcd*>` type as default type.
>+
> Build tools are required to process PCD values for `VOID*` PCDs into byte
> arrays, C format GUIDs or as C format strings (either ASCII or [L]"string")
> prior to autogenerating the code.
>
> PCD values stored in VPD regions are processed prior to completing the final
>diff --git a/README.md b/README.md
>index 9fb7e93..18e46c9 100644
>--- a/README.md
>+++ b/README.md
>@@ -223,5 +223,6 @@ Copyright (c) 2008-2017, Intel Corporation. All rights
>reserved.
> |            | [#775](https://bugzilla.tianocore.org/show_bug.cgi?id=775) Build
>spec: Add description about auto detect thread number
>|               |
> |            | Add Flexible PCD value format into spec
>|               |
> |            | Update PCD value and SKU, DefaultStore info in build report
>|               |
> |            | Clarify structure PCD field value assignment precedence
>|               |
> |            | Update description for build handles PCDs for SKU support
>|               |
>+|            | Add statement about module scoped `<Pcd*>` section override
>scope
>|               |
>--
>2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel