Reviewed-by: Liming Gao <liming....@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....@intel.com>; Kinney, Michael D
><michael.d.kin...@intel.com>; Shaw, Kevin W <kevin.w.s...@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....@intel.com>
>Cc: Michael Kinney <michael.d.kin...@intel.com>
>Cc: Kevin W Shaw <kevin.w.s...@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong....@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

Reply via email to