[edk2] [Patch V2] Build spec: update PCD value and SKU, DefaultStore info in report

Yonghong Zhu posted 1 patch 6 years, 1 month ago
Failed in applying to current master (apply log)
13_build_reports/134_platform_summary.md   | 10 ++++--
13_build_reports/136_global_pcd_section.md | 49 ++++++++++++++++++++++++++++--
13_build_reports/138_module_section.md     |  9 +++++-
3 files changed, 63 insertions(+), 5 deletions(-)
[edk2] [Patch V2] Build spec: update PCD value and SKU, DefaultStore info in report
Posted by Yonghong Zhu 6 years, 1 month ago
V2: Add *B info for structure pcd field value that from build command

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>
---
 13_build_reports/134_platform_summary.md   | 10 ++++--
 13_build_reports/136_global_pcd_section.md | 49 ++++++++++++++++++++++++++++--
 13_build_reports/138_module_section.md     |  9 +++++-
 3 files changed, 63 insertions(+), 5 deletions(-)

diff --git a/13_build_reports/134_platform_summary.md b/13_build_reports/134_platform_summary.md
index 083d714..09b8db6 100644
--- a/13_build_reports/134_platform_summary.md
+++ b/13_build_reports/134_platform_summary.md
@@ -37,11 +37,13 @@ following items:
 * Platform Name : %Platform UI name: '`PLATFORM_NAME`' in DSC `[Defines]`
   section%
 * Platform DSC Path: %Path of platform DSC file%
 * Architectures : %List string of all architectures used in build%
 * Tool Chain : %Tool chain string%
-* Target : %Target String"
+* Target : %Target String%
+* SKUID: %Platform SKUID String%
+* DefaultStore: %Platform DefaultStore String%
 * Output Path : %Path to platform build directory%
 * Build Environment : %Environment string reported by Python%
 * Build Duration : %Build duration time string%
 * AutoGen Duration : %AutoGen duration time string if it exists%
 * Make Duration : %Make duration time string if it exists%
@@ -54,10 +56,12 @@ following items:
 Platform Name:      NT32
 Platform DSC Path:  s:\edk2\Nt32Pkg\Nt32Pkg.dsc
 Architectures:      IA32
 Tool Chain:         VS2008x86
 Target:             DEBUG
+SKUID:              DEFAULT
+DefaultStore:       STANDARD
 Output Path:        s:\edk2\Build\NT32IA32
 Build Environment:  Windows-7-6.1.7601-SP1
 Build Duration:     00:01:29
 AutoGen Duration:   00:00:10
 Make Duration:      00:01:02
@@ -104,10 +108,11 @@ The first line is required:
 `[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
 
 * `*P` means the Pcd's value was obtained from the DSC file
 * `*F` means the PCD's value was obtained from the FDF file.
 * `*B` means the PCD's value set by a build option.
+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
 
 Additional lines may be displayed showing default values when the value is not a
 default value.
 
 ### Example
@@ -135,15 +140,16 @@ not used PCD section is generated.
 PCD values derived from expressions or other PCDs are not differentiated in the
 report. Only the final value is displayed.
 
 The first line is required:
 
-`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
+`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
 
 * `*P` means the Pcd's value was obtained from the DSC file
 * `*F` means the PCD's value was obtained from the FDF file.
 * `*B` means the PCD's value set by a build option.
+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
 
 Additional lines may be displayed showing default values when the value is not a
 default value.
 
 Since the PCDs in this section are not used by any module, the PCD value is not
diff --git a/13_build_reports/136_global_pcd_section.md b/13_build_reports/136_global_pcd_section.md
index d768488..c300920 100644
--- a/13_build_reports/136_global_pcd_section.md
+++ b/13_build_reports/136_global_pcd_section.md
@@ -52,18 +52,19 @@ Each global PCD item contains one or more lines:
 
 ### 13.6.1 Required line
 
 The first line is required:
 
-`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
+`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
 
-* `*P` means the Pcd's value was obtained from the DSC file
+* `*P` means the PCD's value was obtained from the DSC file
 * `*F` means the PCD's value was obtained from the FDF file.
 * `*B` means the PCD's value was obtained from a build option.
 * If no `*P`, `*F` or `*B` is shown, the PCD's value comes from DEC file. If the
   value obtained from either a build option, the DSC or FDF is the same as the
   value in the DEC, then `*B`, `*P` or `*F` will not be shown in the report.
+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
 
 #### Examples
 
 ```
 *P PcdWinNtFirmwareVolume               : FIXED   (VOID*) = L"..\\Fv\\Nt32.fd"
@@ -71,10 +72,14 @@ The first line is required:
                                                   DEC DEFAULT = 0x0
 
 gTokenSpaceGuid
 *B LogEnable                            : FIXED   (UNIT32) = 0x1
                                                   DEC DEFAULT = 0x0
+*P TestDynamic                          :  DYN    (VOID*) (DEFAULT) = L"COM1!COM2"
+                                        :  DYN    (VOID*) (SKU1)    = L"COM3!COM4"
+                                        :  DYN    (VOID*) (SKU2)    = L"COM5!COM6"
+                                                  DEC DEFAULT = L"COM1!COM0"
 ```
 
 ### 13.6.2 Optional lines
 
 #### 13.6.2.1 Dynamic/DynamicEx
@@ -139,5 +144,45 @@ These lines are formatted as:
 
 **********
 **Note:** Global PCD section is present when **PCD** is specified in **-Y**
 option.
 **********
+
+#### 13.6.2.4 Field value for Structure PCD
+If the Pcd is a Structure Pcd, every field value that user specified in DSC/DEC
+file and build command will print out. The field value is from DSC/DEC file or
+build command, not from the final structure byte array, and the field order is
+same as it in DSC/DEC file. when the field value is from build command, tool will
+additional print a *B Flag.
+
+#### Example
+
+```
+gEfiMdePkgTokenSpaceGuid
+*P TestFix                        :  FIXED   (TEST) = {
+    0xff,0x02,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,0x00,
+    0x00,0x64,0x00,0x00,0x00}
+           .A             = 0x2
+           .C             = 0x0
+           .Array         = {0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57}
+           .D             = 0x64
+                                        DEC DEFAULT = {0xFF,0xFF}
+           .A             = 0xF
+           .C             = 0xF
+*B TestDynamicExHii               : DEXHII    (TEST) (SKU1) (STANDARD) = {
+    0xff,0x01,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,0x00,
+    0x00,0x64,0x00,0x00,0x00}
+           .A             = 0x1
+       *B  .C             = 0x0
+           .Array         = {0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57}
+           .D             = 0x64
+                                  : DEXHII    (TEST) (SKU1) (Manufacturing) = {
+    0xff,0x02,0x00,0x2e,0xf6,0x08,0x6f,0x20,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,0x00,
+    0x00,0x68,0x00,0x00,0x00}
+           .A             = 0x2
+       *B  .C             = 0x0
+           .Array         = {0x2e,0xf6,0x08,0x6f,0x20,0x5c,0x8e,0x49,0x91,0x57}
+           .D             = 0x68
+                                        DEC DEFAULT = {0xFF,0xFF}
+           .A             = 0xF
+           .C             = 0xF
+```
diff --git a/13_build_reports/138_module_section.md b/13_build_reports/138_module_section.md
index 455537b..fb2417d 100644
--- a/13_build_reports/138_module_section.md
+++ b/13_build_reports/138_module_section.md
@@ -238,11 +238,12 @@ gEfiMdeModulePkgTokenSpaceGuid
 ```
 
 Each PCD may contain up to four lines:
 
 1. The first line is a mandatory line with the following format:
-   `[*P|*M|*F| ] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
+   `[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
+   **Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
    - \*P means the Pcd's value is the platform default (listed in DSC PCD common
      section or inherited from Module INF file).
    - \*M means the PCD's value in module INF was obtained from the `[Components]`
      section of the DSC file.
    - \*F means the PCD's value is override in FDF file.
@@ -287,10 +288,16 @@ Each PCD may contain up to four lines:
    *M PcdDebugPrintErrorLevel : FIXED   (UINT32) = 0x80000042
                                 DSC DEFAULT = 0x80000040
                                 DEC DEFAULT = 0x80000000
    ```
 
+4. Additional lines may exist if the PCD is Structure PCD. Every field value
+that user specified in DSC/DEC file and build command will print out. The field
+value is from DSC/DEC file or build command, not from the final structure byte
+array, and the field order is same as it in DSC/DEC file. when the field value is
+from build command, tool will additional print a *B Flag.
+
 **********
 **Note:** This sub-section is present when **PCD** is specified in **-Y**
 option.
 **********
 
-- 
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 V2] Build spec: update PCD value and SKU, DefaultStore info in report
Posted by Gao, Liming 6 years, 1 month ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Friday, February 23, 2018 1:21 PM
>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 V2] Build spec: update PCD value and SKU, DefaultStore info in
>report
>
>V2: Add *B info for structure pcd field value that from build command
>
>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>
>---
> 13_build_reports/134_platform_summary.md   | 10 ++++--
> 13_build_reports/136_global_pcd_section.md | 49
>++++++++++++++++++++++++++++--
> 13_build_reports/138_module_section.md     |  9 +++++-
> 3 files changed, 63 insertions(+), 5 deletions(-)
>
>diff --git a/13_build_reports/134_platform_summary.md
>b/13_build_reports/134_platform_summary.md
>index 083d714..09b8db6 100644
>--- a/13_build_reports/134_platform_summary.md
>+++ b/13_build_reports/134_platform_summary.md
>@@ -37,11 +37,13 @@ following items:
> * Platform Name : %Platform UI name: '`PLATFORM_NAME`' in DSC
>`[Defines]`
>   section%
> * Platform DSC Path: %Path of platform DSC file%
> * Architectures : %List string of all architectures used in build%
> * Tool Chain : %Tool chain string%
>-* Target : %Target String"
>+* Target : %Target String%
>+* SKUID: %Platform SKUID String%
>+* DefaultStore: %Platform DefaultStore String%
> * Output Path : %Path to platform build directory%
> * Build Environment : %Environment string reported by Python%
> * Build Duration : %Build duration time string%
> * AutoGen Duration : %AutoGen duration time string if it exists%
> * Make Duration : %Make duration time string if it exists%
>@@ -54,10 +56,12 @@ following items:
> Platform Name:      NT32
> Platform DSC Path:  s:\edk2\Nt32Pkg\Nt32Pkg.dsc
> Architectures:      IA32
> Tool Chain:         VS2008x86
> Target:             DEBUG
>+SKUID:              DEFAULT
>+DefaultStore:       STANDARD
> Output Path:        s:\edk2\Build\NT32IA32
> Build Environment:  Windows-7-6.1.7601-SP1
> Build Duration:     00:01:29
> AutoGen Duration:   00:00:10
> Make Duration:      00:01:02
>@@ -104,10 +108,11 @@ The first line is required:
> `[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
>
> * `*P` means the Pcd's value was obtained from the DSC file
> * `*F` means the PCD's value was obtained from the FDF file.
> * `*B` means the PCD's value set by a build option.
>+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
>
> Additional lines may be displayed showing default values when the value is
>not a
> default value.
>
> ### Example
>@@ -135,15 +140,16 @@ not used PCD section is generated.
> PCD values derived from expressions or other PCDs are not differentiated in
>the
> report. Only the final value is displayed.
>
> The first line is required:
>
>-`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
>+`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>)
>[(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
>
> * `*P` means the Pcd's value was obtained from the DSC file
> * `*F` means the PCD's value was obtained from the FDF file.
> * `*B` means the PCD's value set by a build option.
>+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
>
> Additional lines may be displayed showing default values when the value is
>not a
> default value.
>
> Since the PCDs in this section are not used by any module, the PCD value is
>not
>diff --git a/13_build_reports/136_global_pcd_section.md
>b/13_build_reports/136_global_pcd_section.md
>index d768488..c300920 100644
>--- a/13_build_reports/136_global_pcd_section.md
>+++ b/13_build_reports/136_global_pcd_section.md
>@@ -52,18 +52,19 @@ Each global PCD item contains one or more lines:
>
> ### 13.6.1 Required line
>
> The first line is required:
>
>-`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
>+`[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>)
>[(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
>
>-* `*P` means the Pcd's value was obtained from the DSC file
>+* `*P` means the PCD's value was obtained from the DSC file
> * `*F` means the PCD's value was obtained from the FDF file.
> * `*B` means the PCD's value was obtained from a build option.
> * If no `*P`, `*F` or `*B` is shown, the PCD's value comes from DEC file. If the
>   value obtained from either a build option, the DSC or FDF is the same as the
>   value in the DEC, then `*B`, `*P` or `*F` will not be shown in the report.
>+**Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
>
> #### Examples
>
> ```
> *P PcdWinNtFirmwareVolume               : FIXED   (VOID*) = L"..\\Fv\\Nt32.fd"
>@@ -71,10 +72,14 @@ The first line is required:
>                                                   DEC DEFAULT = 0x0
>
> gTokenSpaceGuid
> *B LogEnable                            : FIXED   (UNIT32) = 0x1
>                                                   DEC DEFAULT = 0x0
>+*P TestDynamic                          :  DYN    (VOID*) (DEFAULT) = L"COM1!COM2"
>+                                        :  DYN    (VOID*) (SKU1)    = L"COM3!COM4"
>+                                        :  DYN    (VOID*) (SKU2)    = L"COM5!COM6"
>+                                                  DEC DEFAULT = L"COM1!COM0"
> ```
>
> ### 13.6.2 Optional lines
>
> #### 13.6.2.1 Dynamic/DynamicEx
>@@ -139,5 +144,45 @@ These lines are formatted as:
>
> **********
> **Note:** Global PCD section is present when **PCD** is specified in **-
>Y**
> option.
> **********
>+
>+#### 13.6.2.4 Field value for Structure PCD
>+If the Pcd is a Structure Pcd, every field value that user specified in DSC/DEC
>+file and build command will print out. The field value is from DSC/DEC file or
>+build command, not from the final structure byte array, and the field order is
>+same as it in DSC/DEC file. when the field value is from build command, tool
>will
>+additional print a *B Flag.
>+
>+#### Example
>+
>+```
>+gEfiMdePkgTokenSpaceGuid
>+*P TestFix                        :  FIXED   (TEST) = {
>+
>0xff,0x02,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,
>0x00,
>+    0x00,0x64,0x00,0x00,0x00}
>+           .A             = 0x2
>+           .C             = 0x0
>+           .Array         = {0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57}
>+           .D             = 0x64
>+                                        DEC DEFAULT = {0xFF,0xFF}
>+           .A             = 0xF
>+           .C             = 0xF
>+*B TestDynamicExHii               : DEXHII    (TEST) (SKU1) (STANDARD) = {
>+
>0xff,0x01,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,
>0x00,
>+    0x00,0x64,0x00,0x00,0x00}
>+           .A             = 0x1
>+       *B  .C             = 0x0
>+           .Array         = {0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57}
>+           .D             = 0x64
>+                                  : DEXHII    (TEST) (SKU1) (Manufacturing) = {
>+
>0xff,0x02,0x00,0x2e,0xf6,0x08,0x6f,0x20,0x5c,0x8e,0x49,0x91,0x57,0x00,0x00,
>0x00,
>+    0x00,0x68,0x00,0x00,0x00}
>+           .A             = 0x2
>+       *B  .C             = 0x0
>+           .Array         = {0x2e,0xf6,0x08,0x6f,0x20,0x5c,0x8e,0x49,0x91,0x57}
>+           .D             = 0x68
>+                                        DEC DEFAULT = {0xFF,0xFF}
>+           .A             = 0xF
>+           .C             = 0xF
>+```
>diff --git a/13_build_reports/138_module_section.md
>b/13_build_reports/138_module_section.md
>index 455537b..fb2417d 100644
>--- a/13_build_reports/138_module_section.md
>+++ b/13_build_reports/138_module_section.md
>@@ -238,11 +238,12 @@ gEfiMdeModulePkgTokenSpaceGuid
> ```
>
> Each PCD may contain up to four lines:
>
> 1. The first line is a mandatory line with the following format:
>-   `[*P|*M|*F| ] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>`
>+   `[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>)
>[(<SKUID>)][(<DefaultStore>)] = <PcdValue>`
>+   **Note:** If the Pcd is a Structure PCD, <DatumType> is the Struct Name.
>    - \*P means the Pcd's value is the platform default (listed in DSC PCD
>common
>      section or inherited from Module INF file).
>    - \*M means the PCD's value in module INF was obtained from the
>`[Components]`
>      section of the DSC file.
>    - \*F means the PCD's value is override in FDF file.
>@@ -287,10 +288,16 @@ Each PCD may contain up to four lines:
>    *M PcdDebugPrintErrorLevel : FIXED   (UINT32) = 0x80000042
>                                 DSC DEFAULT = 0x80000040
>                                 DEC DEFAULT = 0x80000000
>    ```
>
>+4. Additional lines may exist if the PCD is Structure PCD. Every field value
>+that user specified in DSC/DEC file and build command will print out. The field
>+value is from DSC/DEC file or build command, not from the final structure
>byte
>+array, and the field order is same as it in DSC/DEC file. when the field value is
>+from build command, tool will additional print a *B Flag.
>+
> **********
> **Note:** This sub-section is present when **PCD** is specified in **-Y**
> option.
> **********
>
>--
>2.6.1.windows.1

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