* [Patch] Build spec: update PCD value and SKU, DefaultStore info in report
@ 2018-02-21 8:31 Yonghong Zhu
0 siblings, 0 replies; only message in thread
From: Yonghong Zhu @ 2018-02-21 8:31 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao, Michael Kinney, Kevin W Shaw
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 | 47 ++++++++++++++++++++++++++++--
13_build_reports/138_module_section.md | 8 ++++-
3 files changed, 60 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..6aa534b 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,43 @@ 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 will print out. The field value is from DSC/DEC file, not from the final
+structure byte array, and the field order is same as it in DSC/DEC file.
+
+#### 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
+*P 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
+ .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
+ .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..da9e4eb 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,15 @@ 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 will print out. The field value is from
+DSC/DEC file, not from the final structure byte array, and the field order is
+same as it in DSC/DEC file.
+
**********
**Note:** This sub-section is present when **PCD** is specified in **-Y**
option.
**********
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2018-02-21 8:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-21 8:31 [Patch] Build spec: update PCD value and SKU, DefaultStore info in report Yonghong Zhu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox