https://bugzilla.tianocore.org/show_bug.cgi?id=485
The build tools currently require a PCD to use the
same access method from all modules. This update
still requires modules built from sources to use
the same access method, but binary modules are
allowed to use alternate access methods.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
---
13_build_reports/133_output.md | 1 +
13_build_reports/135_mixed_pcd_section.md | 54 ++++++++++++++++++++++
13_build_reports/136_global_pcd_section.md | 14 +++---
13_build_reports/137_fd_section.md | 10 ++--
13_build_reports/138_module_section.md | 16 +++----
.../139_execution_order_prediction_section.md | 4 +-
README.md | 1 +
SUMMARY.md | 9 ++--
8 files changed, 83 insertions(+), 26 deletions(-)
create mode 100644 13_build_reports/135_mixed_pcd_section.md
diff --git a/13_build_reports/133_output.md b/13_build_reports/133_output.md
index 5363b7f..ce64efd 100644
--- a/13_build_reports/133_output.md
+++ b/13_build_reports/133_output.md
@@ -51,6 +51,7 @@ The layout of the text report file:
```
|---- Platform summary
+ |----- Mixed PCD section
|----- Global PCD section
|----- FD section*
|---- FD Region sub-section*
diff --git a/13_build_reports/135_mixed_pcd_section.md b/13_build_reports/135_mixed_pcd_section.md
new file mode 100644
index 0000000..98d6662
--- /dev/null
+++ b/13_build_reports/135_mixed_pcd_section.md
@@ -0,0 +1,54 @@
+<!--- @file
+ 13.5 Mixed PCD Section
+
+ Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR>
+
+ Redistribution and use in source (original document form) and 'compiled'
+ forms (converted to PDF, epub, HTML and other formats) with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1) Redistributions of source code (original document form) must retain the
+ above copyright notice, this list of conditions and the following
+ disclaimer as the first lines of this file unmodified.
+
+ 2) Redistributions in compiled form (transformed to other DTDs, converted to
+ PDF, epub, HTML and other formats) must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ EVENT SHALL TIANOCORE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-->
+
+## 13.6 Mixed PCD Section
+
+There is an optional sub-section that, when present, lists the PCDs in the
+platform that use multiple access methods. This sub-section is only present if
+there are Binary modules included in the platform build and the binary module
+uses a different PCD access method than other modules in the same platform
+build.
+
+The sub-section header is:
+
+```
+>===============================================================================<
+The following PCDs use different access methods:
+=================================================================================
+.. (List of PCDs)
+<===============================================================================>
+```
+
+Format for the entries in this section:
+
+```
+<PcdTokenSpaceGuid>.<PcdCName>
+```
diff --git a/13_build_reports/136_global_pcd_section.md b/13_build_reports/136_global_pcd_section.md
index 664949e..f24f97a 100644
--- a/13_build_reports/136_global_pcd_section.md
+++ b/13_build_reports/136_global_pcd_section.md
@@ -1,5 +1,5 @@
<!--- @file
- 13.5 Global PCD Section
+ 13.6 Global PCD Section
Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR>
@@ -29,7 +29,7 @@
-->
-## 13.5 Global PCD Section
+## 13.6 Global PCD Section
This section contains the information for all PCDs whose values are the same
for all modules in a platform. The content of global PCD sub-section is grouped
@@ -47,7 +47,7 @@ gEfiMdeModulePkgTokenSpaceGuid
Each global PCD item contains one or more lines:
-### 13.5.1 Required line
+### 13.6.1 Required line
The first line is required:
@@ -67,9 +67,9 @@ The first line is required:
DEC DEFAULT = 0x0
```
-### 13.5.2 Optional lines
+### 13.6.2 Optional lines
-#### 13.5.2.1 Dynamic/DynamicEx
+#### 13.6.2.1 Dynamic/DynamicEx
* if `<PcdType>` is DYN-HII
@@ -93,7 +93,7 @@ The first line is required:
0x0001FFF
```
-#### 13.5.2.2 Default (optional) line
+#### 13.6.2.2 Default (optional) line
The second optional line is present if the value from the DEC was overridden.
It is formatted as follows:
@@ -107,7 +107,7 @@ It is formatted as follows:
DEC DEFAULT = 0x0
```
-#### 13.5.2.3 Additional optional lines
+#### 13.6.2.3 Additional optional lines
Additional lines are optional and show if the PCD's value was obtained from the
INF file. This will be listed if the module's final PCD value is not the same
diff --git a/13_build_reports/137_fd_section.md b/13_build_reports/137_fd_section.md
index 81b8831..49c2695 100644
--- a/13_build_reports/137_fd_section.md
+++ b/13_build_reports/137_fd_section.md
@@ -1,5 +1,5 @@
<!--- @file
- 13.6 FD Section
+ 13.7 FD Section
Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR>
@@ -29,11 +29,11 @@
-->
-## 13.6 FD Section
+## 13.7 FD Section
This section contains platform flash device information and its layout.
-### 13.6.1 FD Section Header
+### 13.7.1 FD Section Header
Given that a platform may have multi-Firmware device, this section may appear
more than once in the output report. The section header lists the name of FD
@@ -59,7 +59,7 @@ Size: 0x2a0000(2688KB)
<==========================================================================>
```
-### 13.6.2 FD Region Sub-section
+### 13.7.2 FD Region Sub-section
This sub-section contains FD region information of platform flash device. If
the region is a firmware volume, it lists the set of modules and its space
@@ -122,7 +122,7 @@ Size: 0x2000 (8K)
...(More list of FD regions)
```
-### 13.6.3 VPD PCD Sub-section
+### 13.7.3 VPD PCD Sub-section
This section lists, in Offset order, every VPD PCD specified in the DSC file.
The line format for this section is PcdName SkuId Offset PcdSize PcdValue.
diff --git a/13_build_reports/138_module_section.md b/13_build_reports/138_module_section.md
index 96200a2..23e039b 100644
--- a/13_build_reports/138_module_section.md
+++ b/13_build_reports/138_module_section.md
@@ -1,5 +1,5 @@
<!--- @file
- 13.7 Module Section
+ 13.8 Module Section
Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR>
@@ -29,14 +29,14 @@
-->
-## 13.7 Module Section
+## 13.8 Module Section
Module section lists all modules involved in the platform build. If the
**EXECUTION_ORDER** option is specified in **-Y** option, the module sections
are sorted according to their PEI or DXE dispatch order; otherwise the module
sections are listed according to their DSC position.
-### 13.7.1 Module Section Summary
+### 13.8.1 Module Section Summary
This sub-section lists the module basic information: Module name: INF file,
file GUID, module size, module build time stamp and driver type.
@@ -99,7 +99,7 @@ Driver Type: 0x7 (DRIVER)
<==========================================================================>
```
-### 13.7.2 Library Sub-section
+### 13.8.2 Library Sub-section
This sub-section, which follows each Module Summary section, holds the
information for all libraries used in this module. If it is an EDKII style
@@ -208,7 +208,7 @@ s:\edk2\EdkCompatibilityPkg\Foundation\Framework\Guid\EdkFrameworkGuidLib.inf
option.
**********
-### 13.7.3 PCD Sub-section
+### 13.8.3 PCD Sub-section
This sub-section (following the Module Summary information) holds the
information for all PCDs used in this module. The content of module PCD
@@ -281,7 +281,7 @@ Each PCD may contain up to four lines:
option.
**********
-### 13.7.4 DEPEX Sub-section
+### 13.8.4 DEPEX Sub-section
This sub-section (following the Module Summary information) holds module
dependency expression (DEPEX) information. The sub-section header holds the
@@ -353,7 +353,7 @@ EFI_HII_DATABASE_PROTOCOL_GUID
option.
**********
-### 13.7.5 Build Flags Sub-section
+### 13.8.5 Build Flags Sub-section
This sub-section (following the Module Summary information) holds module build
flags information. The sub-section header holds the module tool chain tag and
@@ -387,7 +387,7 @@ EHs-c- /GR- /GF /Gy /Zi /Gm
`-Y` option.
**********
-### 13.7.6 Fixed Address Prediction Sub-section
+### 13.8.6 Fixed Address Prediction Sub-section
This sub-section (following the Module Summary information) contains module
notification function information. All the notification functions are listed
diff --git a/13_build_reports/139_execution_order_prediction_section.md b/13_build_reports/139_execution_order_prediction_section.md
index c4e4a2b..7a2f277 100644
--- a/13_build_reports/139_execution_order_prediction_section.md
+++ b/13_build_reports/139_execution_order_prediction_section.md
@@ -1,5 +1,5 @@
<!--- @file
- 13.8 Execution Order Prediction Section
+ 13.9 Execution Order Prediction Section
Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR>
@@ -29,7 +29,7 @@
-->
-## 13.8 Execution Order Prediction Section
+## 13.9 Execution Order Prediction Section
This section contains platform level prediction for the execution flow. Each
phase list the following triple in their predicted order:
diff --git a/README.md b/README.md
index 21bb782..c511971 100644
--- a/README.md
+++ b/README.md
@@ -206,3 +206,4 @@ Copyright (c) 2008-2017, Intel Corporation. All rights reserved.
| | [#483](https://bugzilla.tianocore.org/show_bug.cgi?id=483) Build Spec: add description for merge Pre-build and Post-build into build process | |
| | [#490](https://bugzilla.tianocore.org/show_bug.cgi?id=490) Build Spec: specify the alignment requirements for VOID* PCDs stored in a PCD section | |
| | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=479) Build spec: add description for nmake long command line handling | |
+| | [#485](https://bugzilla.tianocore.org/show_bug.cgi?id=485) Build spec: add support for mixed Pcd access method | |
diff --git a/SUMMARY.md b/SUMMARY.md
index e374319..386fb4f 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -107,10 +107,11 @@
* [13.2 Sample Launch Steps: NT32 platform](13_build_reports/132_sample_launch_steps_nt32_platform.md#132-sample-launch-steps-nt32-platform)
* [13.3 Output](13_build_reports/133_output.md#133-output)
* [13.4 Platform Summary](13_build_reports/134_platform_summary.md#134-platform-summary)
- * [13.5 Global PCD Section](13_build_reports/135_global_pcd_section.md#135-global-pcd-section)
- * [13.6 FD Section](13_build_reports/136_fd_section.md#136-fd-section)
- * [13.7 Module Section](13_build_reports/137_module_section.md#137-module-section)
- * [13.8 Execution Order Prediction Section](13_build_reports/138_execution_order_prediction_section.md#138-execution-order-prediction-section)
+ * [13.5 Mixed PCD Section](13_build_reports/135_mixed_pcd_section.md#135-mixed-pcd-section)
+ * [13.6 Global PCD Section](13_build_reports/136_global_pcd_section.md#136-global-pcd-section)
+ * [13.7 FD Section](13_build_reports/137_fd_section.md#137-fd-section)
+ * [13.8 Module Section](13_build_reports/138_module_section.md#138-module-section)
+ * [13.9 Execution Order Prediction Section](13_build_reports/139_execution_order_prediction_section.md#139-execution-order-prediction-section)
* [Appendix A Variables](appendix_a_variables.md#appendix-a-variables)
* [Appendix B tools_def.txt](appendix_b_toolsdef_txt.md#appendix-b-tools_deftxt)
* [Appendix C target.txt](appendix_c_targettxt.md#appendix-c-targettxt)
--
2.6.3.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Hi Mike, Is this section 13.5 but not 13.6 ? others are good to me. Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> ## 13.6 Mixed PCD Section Best Regards, Zhu Yonghong -----Original Message----- From: Kinney, Michael D Sent: Thursday, April 20, 2017 4:37 AM To: edk2-devel@lists.01.org Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>; Shaw, Kevin W <kevin.w.shaw@intel.com> Subject: [edk2-BuildSpecification PATCH 3/3] Add report section for mixed PCD access https://bugzilla.tianocore.org/show_bug.cgi?id=485 The build tools currently require a PCD to use the same access method from all modules. This update still requires modules built from sources to use the same access method, but binary modules are allowed to use alternate access methods. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Kevin W Shaw <kevin.w.shaw@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> --- 13_build_reports/133_output.md | 1 + 13_build_reports/135_mixed_pcd_section.md | 54 ++++++++++++++++++++++ 13_build_reports/136_global_pcd_section.md | 14 +++--- 13_build_reports/137_fd_section.md | 10 ++-- 13_build_reports/138_module_section.md | 16 +++---- .../139_execution_order_prediction_section.md | 4 +- README.md | 1 + SUMMARY.md | 9 ++-- 8 files changed, 83 insertions(+), 26 deletions(-) create mode 100644 13_build_reports/135_mixed_pcd_section.md diff --git a/13_build_reports/133_output.md b/13_build_reports/133_output.md index 5363b7f..ce64efd 100644 --- a/13_build_reports/133_output.md +++ b/13_build_reports/133_output.md @@ -51,6 +51,7 @@ The layout of the text report file: ``` |---- Platform summary + |----- Mixed PCD section |----- Global PCD section |----- FD section* |---- FD Region sub-section* diff --git a/13_build_reports/135_mixed_pcd_section.md b/13_build_reports/135_mixed_pcd_section.md new file mode 100644 index 0000000..98d6662 --- /dev/null +++ b/13_build_reports/135_mixed_pcd_section.md @@ -0,0 +1,54 @@ +<!--- @file + 13.5 Mixed PCD Section + + Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> + + Redistribution and use in source (original document form) and 'compiled' + forms (converted to PDF, epub, HTML and other formats) with or + without modification, are permitted provided that the following conditions are met: + + 1) Redistributions of source code (original document form) must retain the + above copyright notice, this list of conditions and the following + disclaimer as the first lines of this file unmodified. + + 2) Redistributions in compiled form (transformed to other DTDs, converted to + PDF, epub, HTML and other formats) must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TIANOCORE PROJECT BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--> + +## 13.6 Mixed PCD Section + +There is an optional sub-section that, when present, lists the PCDs in +the platform that use multiple access methods. This sub-section is only +present if there are Binary modules included in the platform build and +the binary module uses a different PCD access method than other modules +in the same platform build. + +The sub-section header is: + +``` +>====================================================================== +>=========< +The following PCDs use different access methods: +======================================================================= +========== +.. (List of PCDs) +<====================================================================== +=========> +``` + +Format for the entries in this section: + +``` +<PcdTokenSpaceGuid>.<PcdCName> +``` diff --git a/13_build_reports/136_global_pcd_section.md b/13_build_reports/136_global_pcd_section.md index 664949e..f24f97a 100644 --- a/13_build_reports/136_global_pcd_section.md +++ b/13_build_reports/136_global_pcd_section.md @@ -1,5 +1,5 @@ <!--- @file - 13.5 Global PCD Section + 13.6 Global PCD Section Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> @@ -29,7 +29,7 @@ --> -## 13.5 Global PCD Section +## 13.6 Global PCD Section This section contains the information for all PCDs whose values are the same for all modules in a platform. The content of global PCD sub-section is grouped @@ -47,7 +47,7 @@ gEfiMdeModulePkgTokenSpaceGuid Each global PCD item contains one or more lines: -### 13.5.1 Required line +### 13.6.1 Required line The first line is required: @@ -67,9 +67,9 @@ The first line is required: DEC DEFAULT = 0x0 ``` -### 13.5.2 Optional lines +### 13.6.2 Optional lines -#### 13.5.2.1 Dynamic/DynamicEx +#### 13.6.2.1 Dynamic/DynamicEx * if `<PcdType>` is DYN-HII @@ -93,7 +93,7 @@ The first line is required: 0x0001FFF ``` -#### 13.5.2.2 Default (optional) line +#### 13.6.2.2 Default (optional) line The second optional line is present if the value from the DEC was overridden. It is formatted as follows: @@ -107,7 +107,7 @@ It is formatted as follows: DEC DEFAULT = 0x0 ``` -#### 13.5.2.3 Additional optional lines +#### 13.6.2.3 Additional optional lines Additional lines are optional and show if the PCD's value was obtained from the INF file. This will be listed if the module's final PCD value is not the same diff --git a/13_build_reports/137_fd_section.md b/13_build_reports/137_fd_section.md index 81b8831..49c2695 100644 --- a/13_build_reports/137_fd_section.md +++ b/13_build_reports/137_fd_section.md @@ -1,5 +1,5 @@ <!--- @file - 13.6 FD Section + 13.7 FD Section Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> @@ -29,11 +29,11 @@ --> -## 13.6 FD Section +## 13.7 FD Section This section contains platform flash device information and its layout. -### 13.6.1 FD Section Header +### 13.7.1 FD Section Header Given that a platform may have multi-Firmware device, this section may appear more than once in the output report. The section header lists the name of FD @@ -59,7 +59,7 @@ Size: 0x2a0000(2688KB) <==========================================================================> ``` -### 13.6.2 FD Region Sub-section +### 13.7.2 FD Region Sub-section This sub-section contains FD region information of platform flash device. If the region is a firmware volume, it lists the set of modules and its space @@ -122,7 +122,7 @@ Size: 0x2000 (8K) ...(More list of FD regions) ``` -### 13.6.3 VPD PCD Sub-section +### 13.7.3 VPD PCD Sub-section This section lists, in Offset order, every VPD PCD specified in the DSC file. The line format for this section is PcdName SkuId Offset PcdSize PcdValue. diff --git a/13_build_reports/138_module_section.md b/13_build_reports/138_module_section.md index 96200a2..23e039b 100644 --- a/13_build_reports/138_module_section.md +++ b/13_build_reports/138_module_section.md @@ -1,5 +1,5 @@ <!--- @file - 13.7 Module Section + 13.8 Module Section Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> @@ -29,14 +29,14 @@ --> -## 13.7 Module Section +## 13.8 Module Section Module section lists all modules involved in the platform build. If the **EXECUTION_ORDER** option is specified in **-Y** option, the module sections are sorted according to their PEI or DXE dispatch order; otherwise the module sections are listed according to their DSC position. -### 13.7.1 Module Section Summary +### 13.8.1 Module Section Summary This sub-section lists the module basic information: Module name: INF file, file GUID, module size, module build time stamp and driver type. @@ -99,7 +99,7 @@ Driver Type: 0x7 (DRIVER) <==========================================================================> ``` -### 13.7.2 Library Sub-section +### 13.8.2 Library Sub-section This sub-section, which follows each Module Summary section, holds the information for all libraries used in this module. If it is an EDKII style @@ -208,7 +208,7 @@ s:\edk2\EdkCompatibilityPkg\Foundation\Framework\Guid\EdkFrameworkGuidLib.inf option. ********** -### 13.7.3 PCD Sub-section +### 13.8.3 PCD Sub-section This sub-section (following the Module Summary information) holds the information for all PCDs used in this module. The content of module PCD @@ -281,7 +281,7 @@ Each PCD may contain up to four lines: option. ********** -### 13.7.4 DEPEX Sub-section +### 13.8.4 DEPEX Sub-section This sub-section (following the Module Summary information) holds module dependency expression (DEPEX) information. The sub-section header holds the @@ -353,7 +353,7 @@ EFI_HII_DATABASE_PROTOCOL_GUID option. ********** -### 13.7.5 Build Flags Sub-section +### 13.8.5 Build Flags Sub-section This sub-section (following the Module Summary information) holds module build flags information. The sub-section header holds the module tool chain tag and @@ -387,7 +387,7 @@ EHs-c- /GR- /GF /Gy /Zi /Gm `-Y` option. ********** -### 13.7.6 Fixed Address Prediction Sub-section +### 13.8.6 Fixed Address Prediction Sub-section This sub-section (following the Module Summary information) contains module notification function information. All the notification functions are listed diff --git a/13_build_reports/139_execution_order_prediction_section.md b/13_build_reports/139_execution_order_prediction_section.md index c4e4a2b..7a2f277 100644 --- a/13_build_reports/139_execution_order_prediction_section.md +++ b/13_build_reports/139_execution_order_prediction_section.md @@ -1,5 +1,5 @@ <!--- @file - 13.8 Execution Order Prediction Section + 13.9 Execution Order Prediction Section Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> @@ -29,7 +29,7 @@ --> -## 13.8 Execution Order Prediction Section +## 13.9 Execution Order Prediction Section This section contains platform level prediction for the execution flow. Each phase list the following triple in their predicted order: diff --git a/README.md b/README.md index 21bb782..c511971 100644 --- a/README.md +++ b/README.md @@ -206,3 +206,4 @@ Copyright (c) 2008-2017, Intel Corporation. All rights reserved. | | [#483](https://bugzilla.tianocore.org/show_bug.cgi?id=483) Build Spec: add description for merge Pre-build and Post-build into build process | | | | [#490](https://bugzilla.tianocore.org/show_bug.cgi?id=490) Build Spec: specify the alignment requirements for VOID* PCDs stored in a PCD section | | | | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=479) Build spec: add description for nmake long command line handling | | +| | [#485](https://bugzilla.tianocore.org/show_bug.cgi?id=485) Build spec: add support for mixed Pcd access method | | diff --git a/SUMMARY.md b/SUMMARY.md index e374319..386fb4f 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -107,10 +107,11 @@ * [13.2 Sample Launch Steps: NT32 platform](13_build_reports/132_sample_launch_steps_nt32_platform.md#132-sample-launch-steps-nt32-platform) * [13.3 Output](13_build_reports/133_output.md#133-output) * [13.4 Platform Summary](13_build_reports/134_platform_summary.md#134-platform-summary) - * [13.5 Global PCD Section](13_build_reports/135_global_pcd_section.md#135-global-pcd-section) - * [13.6 FD Section](13_build_reports/136_fd_section.md#136-fd-section) - * [13.7 Module Section](13_build_reports/137_module_section.md#137-module-section) - * [13.8 Execution Order Prediction Section](13_build_reports/138_execution_order_prediction_section.md#138-execution-order-prediction-section) + * [13.5 Mixed PCD + Section](13_build_reports/135_mixed_pcd_section.md#135-mixed-pcd-secti + on) + * [13.6 Global PCD + Section](13_build_reports/136_global_pcd_section.md#136-global-pcd-sec + tion) + * [13.7 FD + Section](13_build_reports/137_fd_section.md#137-fd-section) + * [13.8 Module + Section](13_build_reports/138_module_section.md#138-module-section) + * [13.9 Execution Order Prediction + Section](13_build_reports/139_execution_order_prediction_section.md#13 + 9-execution-order-prediction-section) * [Appendix A Variables](appendix_a_variables.md#appendix-a-variables) * [Appendix B tools_def.txt](appendix_b_toolsdef_txt.md#appendix-b-tools_deftxt) * [Appendix C target.txt](appendix_c_targettxt.md#appendix-c-targettxt) -- 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Zhu Yonghong, Yes. That is supposed to be 13.5. I will fix before I checkin. Mike > -----Original Message----- > From: Zhu, Yonghong > Sent: Wednesday, April 19, 2017 8:07 PM > To: Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com>; Shaw, Kevin W <kevin.w.shaw@intel.com>; > Zhu, Yonghong <yonghong.zhu@intel.com> > Subject: RE: [edk2-BuildSpecification PATCH 3/3] Add report section for mixed PCD > access > > Hi Mike, > > Is this section 13.5 but not 13.6 ? others are good to me. Reviewed-by: Yonghong > Zhu <yonghong.zhu@intel.com> > > ## 13.6 Mixed PCD Section > > Best Regards, > Zhu Yonghong > > -----Original Message----- > From: Kinney, Michael D > Sent: Thursday, April 20, 2017 4:37 AM > To: edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>; > Shaw, Kevin W <kevin.w.shaw@intel.com> > Subject: [edk2-BuildSpecification PATCH 3/3] Add report section for mixed PCD > access > > https://bugzilla.tianocore.org/show_bug.cgi?id=485 > > The build tools currently require a PCD to use the same access method from all > modules. This update still requires modules built from sources to use the same > access method, but binary modules are allowed to use alternate access methods. > > Cc: Liming Gao <liming.gao@intel.com> > Cc: Yonghong Zhu <yonghong.zhu@intel.com> > Cc: Kevin W Shaw <kevin.w.shaw@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> > --- > 13_build_reports/133_output.md | 1 + > 13_build_reports/135_mixed_pcd_section.md | 54 ++++++++++++++++++++++ > 13_build_reports/136_global_pcd_section.md | 14 +++--- > 13_build_reports/137_fd_section.md | 10 ++-- > 13_build_reports/138_module_section.md | 16 +++---- > .../139_execution_order_prediction_section.md | 4 +- > README.md | 1 + > SUMMARY.md | 9 ++-- > 8 files changed, 83 insertions(+), 26 deletions(-) create mode 100644 > 13_build_reports/135_mixed_pcd_section.md > > diff --git a/13_build_reports/133_output.md b/13_build_reports/133_output.md > index 5363b7f..ce64efd 100644 > --- a/13_build_reports/133_output.md > +++ b/13_build_reports/133_output.md > @@ -51,6 +51,7 @@ The layout of the text report file: > > ``` > |---- Platform summary > + |----- Mixed PCD section > |----- Global PCD section > |----- FD section* > |---- FD Region sub-section* > diff --git a/13_build_reports/135_mixed_pcd_section.md > b/13_build_reports/135_mixed_pcd_section.md > new file mode 100644 > index 0000000..98d6662 > --- /dev/null > +++ b/13_build_reports/135_mixed_pcd_section.md > @@ -0,0 +1,54 @@ > +<!--- @file > + 13.5 Mixed PCD Section > + > + Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> > + > + Redistribution and use in source (original document form) and 'compiled' > + forms (converted to PDF, epub, HTML and other formats) with or > + without modification, are permitted provided that the following conditions are > met: > + > + 1) Redistributions of source code (original document form) must retain the > + above copyright notice, this list of conditions and the following > + disclaimer as the first lines of this file unmodified. > + > + 2) Redistributions in compiled form (transformed to other DTDs, converted to > + PDF, epub, HTML and other formats) must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in the > + documentation and/or other materials provided with the distribution. > + > + THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND ANY > + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TIANOCORE PROJECT BE > + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, > + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE > + OR > + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, > + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +--> > + > +## 13.6 Mixed PCD Section > + > +There is an optional sub-section that, when present, lists the PCDs in > +the platform that use multiple access methods. This sub-section is only > +present if there are Binary modules included in the platform build and > +the binary module uses a different PCD access method than other modules > +in the same platform build. > + > +The sub-section header is: > + > +``` > +>====================================================================== > +>=========< > +The following PCDs use different access methods: > +======================================================================= > +========== > +.. (List of PCDs) > +<====================================================================== > +=========> > +``` > + > +Format for the entries in this section: > + > +``` > +<PcdTokenSpaceGuid>.<PcdCName> > +``` > diff --git a/13_build_reports/136_global_pcd_section.md > b/13_build_reports/136_global_pcd_section.md > index 664949e..f24f97a 100644 > --- a/13_build_reports/136_global_pcd_section.md > +++ b/13_build_reports/136_global_pcd_section.md > @@ -1,5 +1,5 @@ > <!--- @file > - 13.5 Global PCD Section > + 13.6 Global PCD Section > > Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> > > @@ -29,7 +29,7 @@ > > --> > > -## 13.5 Global PCD Section > +## 13.6 Global PCD Section > > This section contains the information for all PCDs whose values are the same > for all modules in a platform. The content of global PCD sub-section is grouped > @@ -47,7 +47,7 @@ gEfiMdeModulePkgTokenSpaceGuid > > Each global PCD item contains one or more lines: > > -### 13.5.1 Required line > +### 13.6.1 Required line > > The first line is required: > > @@ -67,9 +67,9 @@ The first line is required: > DEC DEFAULT = 0x0 ``` > > -### 13.5.2 Optional lines > +### 13.6.2 Optional lines > > -#### 13.5.2.1 Dynamic/DynamicEx > +#### 13.6.2.1 Dynamic/DynamicEx > > * if `<PcdType>` is DYN-HII > > @@ -93,7 +93,7 @@ The first line is required: > 0x0001FFF > ``` > > -#### 13.5.2.2 Default (optional) line > +#### 13.6.2.2 Default (optional) line > > The second optional line is present if the value from the DEC was overridden. > It is formatted as follows: > @@ -107,7 +107,7 @@ It is formatted as follows: > DEC DEFAULT = 0x0 ``` > > -#### 13.5.2.3 Additional optional lines > +#### 13.6.2.3 Additional optional lines > > Additional lines are optional and show if the PCD's value was obtained from the > INF file. This will be listed if the module's final PCD value is not the same > diff --git a/13_build_reports/137_fd_section.md > b/13_build_reports/137_fd_section.md > index 81b8831..49c2695 100644 > --- a/13_build_reports/137_fd_section.md > +++ b/13_build_reports/137_fd_section.md > @@ -1,5 +1,5 @@ > <!--- @file > - 13.6 FD Section > + 13.7 FD Section > > Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> > > @@ -29,11 +29,11 @@ > > --> > > -## 13.6 FD Section > +## 13.7 FD Section > > This section contains platform flash device information and its layout. > > -### 13.6.1 FD Section Header > +### 13.7.1 FD Section Header > > Given that a platform may have multi-Firmware device, this section may appear > more than once in the output report. The section header lists the name of FD > @@ -59,7 +59,7 @@ Size: 0x2a0000(2688KB) > <==========================================================================> > ``` > > -### 13.6.2 FD Region Sub-section > +### 13.7.2 FD Region Sub-section > > This sub-section contains FD region information of platform flash device. If > the region is a firmware volume, it lists the set of modules and its space > @@ -122,7 +122,7 @@ Size: 0x2000 (8K) > ...(More list of FD regions) > ``` > > -### 13.6.3 VPD PCD Sub-section > +### 13.7.3 VPD PCD Sub-section > > This section lists, in Offset order, every VPD PCD specified in the DSC file. > The line format for this section is PcdName SkuId Offset PcdSize PcdValue. > diff --git a/13_build_reports/138_module_section.md > b/13_build_reports/138_module_section.md > index 96200a2..23e039b 100644 > --- a/13_build_reports/138_module_section.md > +++ b/13_build_reports/138_module_section.md > @@ -1,5 +1,5 @@ > <!--- @file > - 13.7 Module Section > + 13.8 Module Section > > Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> > > @@ -29,14 +29,14 @@ > > --> > > -## 13.7 Module Section > +## 13.8 Module Section > > Module section lists all modules involved in the platform build. If the > **EXECUTION_ORDER** option is specified in **-Y** option, the module sections > are sorted according to their PEI or DXE dispatch order; otherwise the module > sections are listed according to their DSC position. > > -### 13.7.1 Module Section Summary > +### 13.8.1 Module Section Summary > > This sub-section lists the module basic information: Module name: INF file, > file GUID, module size, module build time stamp and driver type. > @@ -99,7 +99,7 @@ Driver Type: 0x7 (DRIVER) > <==========================================================================> > ``` > > -### 13.7.2 Library Sub-section > +### 13.8.2 Library Sub-section > > This sub-section, which follows each Module Summary section, holds the > information for all libraries used in this module. If it is an EDKII style @@ - > 208,7 +208,7 @@ > s:\edk2\EdkCompatibilityPkg\Foundation\Framework\Guid\EdkFrameworkGuidLib.inf > option. > ********** > > -### 13.7.3 PCD Sub-section > +### 13.8.3 PCD Sub-section > > This sub-section (following the Module Summary information) holds the > information for all PCDs used in this module. The content of module PCD @@ -281,7 > +281,7 @@ Each PCD may contain up to four lines: > option. > ********** > > -### 13.7.4 DEPEX Sub-section > +### 13.8.4 DEPEX Sub-section > > This sub-section (following the Module Summary information) holds module > dependency expression (DEPEX) information. The sub-section header holds the @@ - > 353,7 +353,7 @@ EFI_HII_DATABASE_PROTOCOL_GUID option. > ********** > > -### 13.7.5 Build Flags Sub-section > +### 13.8.5 Build Flags Sub-section > > This sub-section (following the Module Summary information) holds module build > flags information. The sub-section header holds the module tool chain tag and @@ > -387,7 +387,7 @@ EHs-c- /GR- /GF /Gy /Zi /Gm `-Y` option. > ********** > > -### 13.7.6 Fixed Address Prediction Sub-section > +### 13.8.6 Fixed Address Prediction Sub-section > > This sub-section (following the Module Summary information) contains module > notification function information. All the notification functions are listed diff > --git a/13_build_reports/139_execution_order_prediction_section.md > b/13_build_reports/139_execution_order_prediction_section.md > index c4e4a2b..7a2f277 100644 > --- a/13_build_reports/139_execution_order_prediction_section.md > +++ b/13_build_reports/139_execution_order_prediction_section.md > @@ -1,5 +1,5 @@ > <!--- @file > - 13.8 Execution Order Prediction Section > + 13.9 Execution Order Prediction Section > > Copyright (c) 2008-2017, Intel Corporation. All rights reserved.<BR> > > @@ -29,7 +29,7 @@ > > --> > > -## 13.8 Execution Order Prediction Section > +## 13.9 Execution Order Prediction Section > > This section contains platform level prediction for the execution flow. Each > phase list the following triple in their predicted order: > diff --git a/README.md b/README.md > index 21bb782..c511971 100644 > --- a/README.md > +++ b/README.md > @@ -206,3 +206,4 @@ Copyright (c) 2008-2017, Intel Corporation. All rights > reserved. > | | [#483](https://bugzilla.tianocore.org/show_bug.cgi?id=483) Build > Spec: add description for merge Pre-build and Post-build into build process > | | > | | [#490](https://bugzilla.tianocore.org/show_bug.cgi?id=490) Build > Spec: specify the alignment requirements for VOID* PCDs stored in a PCD section > | | > | | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=479) Build > spec: add description for nmake long command line handling > | | > +| | [#485](https://bugzilla.tianocore.org/show_bug.cgi?id=485) Build > spec: add support for mixed Pcd access method > | | > diff --git a/SUMMARY.md b/SUMMARY.md > index e374319..386fb4f 100644 > --- a/SUMMARY.md > +++ b/SUMMARY.md > @@ -107,10 +107,11 @@ > * [13.2 Sample Launch Steps: NT32 > platform](13_build_reports/132_sample_launch_steps_nt32_platform.md#132-sample- > launch-steps-nt32-platform) > * [13.3 Output](13_build_reports/133_output.md#133-output) > * [13.4 Platform Summary](13_build_reports/134_platform_summary.md#134- > platform-summary) > - * [13.5 Global PCD Section](13_build_reports/135_global_pcd_section.md#135- > global-pcd-section) > - * [13.6 FD Section](13_build_reports/136_fd_section.md#136-fd-section) > - * [13.7 Module Section](13_build_reports/137_module_section.md#137-module- > section) > - * [13.8 Execution Order Prediction > Section](13_build_reports/138_execution_order_prediction_section.md#138- > execution-order-prediction-section) > + * [13.5 Mixed PCD > + Section](13_build_reports/135_mixed_pcd_section.md#135-mixed-pcd-secti > + on) > + * [13.6 Global PCD > + Section](13_build_reports/136_global_pcd_section.md#136-global-pcd-sec > + tion) > + * [13.7 FD > + Section](13_build_reports/137_fd_section.md#137-fd-section) > + * [13.8 Module > + Section](13_build_reports/138_module_section.md#138-module-section) > + * [13.9 Execution Order Prediction > + Section](13_build_reports/139_execution_order_prediction_section.md#13 > + 9-execution-order-prediction-section) > * [Appendix A Variables](appendix_a_variables.md#appendix-a-variables) > * [Appendix B tools_def.txt](appendix_b_toolsdef_txt.md#appendix-b-tools_deftxt) > * [Appendix C target.txt](appendix_c_targettxt.md#appendix-c-targettxt) > -- > 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.