From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AF5222117FD6B for ; Tue, 5 Jun 2018 05:18:03 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jun 2018 05:18:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,478,1520924400"; d="scan'208";a="61414580" Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.129]) by fmsmga001.fm.intel.com with ESMTP; 05 Jun 2018 05:18:02 -0700 From: Yonghong Zhu To: edk2-devel@lists.01.org Cc: Liming Gao , Michael Kinney , Kevin W Shaw Date: Tue, 5 Jun 2018 20:17:59 +0800 Message-Id: <1528201079-9740-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [Patch] Build spec: Add a Common PCD rules section for build report X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2018 12:18:04 -0000 1. Add a Common PCD rules section to introduce 1)the *B, *F, *P, *M's meaning, 2) the PCD display order, 3) both display hex value and integer for UINT* type PCD. 2. Update some items to match with code, eg: UEFI Spec Version 3. Update some typo, eg: Fv Name. Cc: Liming Gao Cc: Michael Kinney Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu --- .../132_sample_launch_steps_nt32_platform.md | 4 +- 13_build_reports/133_output.md | 9 +- 13_build_reports/134_platform_summary.md | 58 ++++++----- 13_build_reports/135_mixed_pcd_section.md | 8 +- 13_build_reports/136_global_pcd_section.md | 67 ++++++------- 13_build_reports/137_fd_section.md | 18 ++-- 13_build_reports/138_module_section.md | 107 +++++++-------------- 13_build_reports/README.md | 4 +- 8 files changed, 122 insertions(+), 153 deletions(-) diff --git a/13_build_reports/132_sample_launch_steps_nt32_platform.md b/13_build_reports/132_sample_launch_steps_nt32_platform.md index 099dc07..7c73a5d 100644 --- a/13_build_reports/132_sample_launch_steps_nt32_platform.md +++ b/13_build_reports/132_sample_launch_steps_nt32_platform.md @@ -1,9 +1,9 @@ >==========================================================================< ``` -### 13.4.2 PCDs not used +### 13.4.3 PCDs not used If a PCD defined in DSC or FDF file, but the PCD is not used in a conditional directive statement and not used by any module, the not used PCD section is generated. This is optional section. @@ -126,17 +139,10 @@ report. Only the final value is displayed. The first line is required: `[*P|*F|*B] : () [()][()] = ` -* `*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. -* 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, `` is the Struct Name. Additional lines may be displayed showing default values when the value is not a default value. @@ -154,10 +160,10 @@ PCDs not used by modules or in conditional directives PCD statements >--------------------------------------------------------------------------< gMyTokenSpaceGuid *P SmmEnable : FEATURE (BOOLEAN) = 0x0 DEC DEFAULT = 0x1 -*B UsbEnable : FIXED (UNIT32) = 0x1 - DEC DEFAULT = 0x0 +*B UsbEnable : FIXED (UNIT32) = 0x1 (1) + DEC DEFAULT = 0x0 (0) <--------------------------------------------------------------------------> >==========================================================================< ``` diff --git a/13_build_reports/135_mixed_pcd_section.md b/13_build_reports/135_mixed_pcd_section.md index b09f46c..654f157 100644 --- a/13_build_reports/135_mixed_pcd_section.md +++ b/13_build_reports/135_mixed_pcd_section.md @@ -1,9 +1,9 @@ ## 13.5 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 is an optional section that, when present, lists the PCDs in the +platform that use multiple access methods. This 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 section header is: ``` >===============================================================================< The following PCDs use different access methods: ================================================================================= diff --git a/13_build_reports/136_global_pcd_section.md b/13_build_reports/136_global_pcd_section.md index 2a5b682..64f800c 100644 --- a/13_build_reports/136_global_pcd_section.md +++ b/13_build_reports/136_global_pcd_section.md @@ -29,19 +29,18 @@ --> ## 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 -by token space: +This section contains the information for all PCDs that used for all modules in +a platform. The content of global PCD section is grouped by token space: ``` -gEfiNt32PkgTokenSpaceGuid +gEfiMdeModulePkgTokenSpaceGuid ... ... -gEfiMdeModulePkgTokenSpaceGuid +gEfiNt32PkgTokenSpaceGuid ... ... ... ``` @@ -54,29 +53,22 @@ Each global PCD item contains one or more lines: The first line is required: `[*P|*F|*B] : () [()][()] = ` -* `*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, `` is the Struct Name. #### Examples ``` *P PcdWinNtFirmwareVolume : FIXED (VOID*) = L"..\\Fv\\Nt32.fd" -*F PcdWinNtFlashNvStorageFtwWorkingBase : FIXED (UINT32) = 0x0028E000 - DEC DEFAULT = 0x0 +*F PcdWinNtFlashNvStorageFtwWorkingBase : FIXED (UINT32) = 0x0028E000 (2678784) + DEC DEFAULT = 0x0 (0) gTokenSpaceGuid -*B LogEnable : FIXED (UNIT32) = 0x1 - DEC DEFAULT = 0x0 +*B LogEnable : FIXED (UNIT32) = 0x1 (1) + DEC DEFAULT = 0x0 (0) *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" ``` @@ -90,22 +82,22 @@ gTokenSpaceGuid `::` #### Example ``` -*P PcdGMchDvmtTotalSize : DYN-HII (UINT8) = 0 +*P PcdGMchDvmtTotalSize : DYN-HII (UINT8) = 0x0 (0) gSysConfigGuid: L"Setup": 0xAA ``` * if `` is DYN-VPD `` #### Example ``` -*F PcdVpdSample : DYN-VPD (UINT32) = 1 +*F PcdVpdSample : DYN-VPD (UINT32) = 0x1 (1) 0x0001FFF ``` #### 13.6.2.2 Default (optional) line @@ -120,34 +112,33 @@ It is formatted as follows: `DEC DEFAULT = ` #### Example ``` -*P PcdWinNtFirmwareFdSize : FIXED (UINT32) = 0x2a0000 - DEC DEFAULT = 0x0 +*P PcdWinNtFirmwareFdSize : FIXED (UINT32) = 0x2a0000 (2752512) + DEC DEFAULT = 0x0 (0) ``` #### 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 -as the first line. The value can be obtained from the INF file only if a single -module uses the PCD. +INF file or DSC file components module scoped PCD section. This will be listed +if the module's final PCD value is not the same as the first line. -*M means the PCD's value was obtained from the INF file. +*M means the PCD's value was obtained from the INF file or DSC file components +module scoped PCD section. These lines are formatted as: `*M Inf Filename = ` #### Example ``` -*P PcdDebugPrintErrorLevel : PATCH (UINT32) = 0x80000042 - DEC DEFAULT = 0x80000000 - = 0x80000000 -*M Tcp4Dxe.inf = 0x0 +*P PcdDebugPrintErrorLevel : PATCH (UINT32) = 0x80000042 (2147483714) + DEC DEFAULT = 0x80000000 (2147483648) +*M Tcp4Dxe.inf = 0x0 (0) ``` ********** **Note:** Global PCD section is present when **PCD** is specified in **-Y** option. @@ -162,20 +153,10 @@ 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 @@ -189,6 +170,16 @@ gEfiMdePkgTokenSpaceGuid .Array = {0x2e,0xf6,0x08,0x6f,0x20,0x5c,0x8e,0x49,0x91,0x57} .D = 0x68 DEC DEFAULT = {0xFF,0xFF} .A = 0xF .C = 0xF +*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 ``` diff --git a/13_build_reports/137_fd_section.md b/13_build_reports/137_fd_section.md index 49c2695..43d26ec 100644 --- a/13_build_reports/137_fd_section.md +++ b/13_build_reports/137_fd_section.md @@ -1,9 +1,9 @@ ``` -#### Example2: - -``` ->--------------------------------------------------------------------------< -Library ---------------------------------------------------------------------------- -s:\edk2\R8MyPlatformPkg\Guid\GuidLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Guid\EdkGuidLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Protocol\EdkProtocolLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Library\RuntimeDxe\EfiRuntimeLib\EfiRuntimeLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Core\Dxe\ArchProtocol\ArchProtocolLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Library\CompilerStub\CompilerStubLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Guid\EdkGuidLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Framework\Protocol\EdkFrameworkProtocolLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Efi\Guid\EfiGuidLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Efi\Protocol\EfiProtocolLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Library\EfiCommonLib\EfiCommonLib.inf -s:\edk2\EdkCompatibilityPkg\Foundation\Framework\Guid\EdkFrameworkGuidLib.inf -<--------------------------------------------------------------------------> -``` - ********** **Note:** This sub-section is present when **LIBRARY** is specified in **-Y** option. ********** @@ -226,34 +199,28 @@ option. This sub-section (following the Module Summary information) holds the information for all PCDs used in this module. The content of module PCD sub-section is divided by token space such as: ``` -gEfiNt32PkgTokenSpaceGuid +gEfiMdeModulePkgTokenSpaceGuid ... ... -gEfiMdeModulePkgTokenSpaceGuid +gEfiNt32PkgTokenSpaceGuid ... ... ... ``` -Each PCD may contain up to four lines: +Each PCD may contain up to following lines: 1. The first line is a mandatory line with the following format: - `[*P|*F|*B|*M] : () [()][()] = ` + + `[*B|*F|*P|*M] : () [()][()] = ` **Note: ** If the Pcd is a Structure PCD, `` 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. - - \*B means the PCD's value is override in build option. - - If no \*P or \*F or \*B or \*M, mean the PCD's value comes from DEC file. - - For example: + For example: ``` *P PcdWinNtFirmwareVolume : FIXED (VOID*) = L"..\\Fv\\Nt32.fd" ``` 2. The second line is the optional line @@ -261,20 +228,20 @@ Each PCD may contain up to four lines: ``` :: ``` For example: ``` - *P PcdGMchDvmtTotalSize : DYN-HII (UINT8) = 0 + *P PcdGMchDvmtTotalSize : DYN-HII (UINT8) = 0x0 (0) gSysConfigGuid: L"Setup": 0xAA ``` - if `` is DYN-VPD ``` ``` For example: ``` - *F PcdVpdSample : DYN-VPD (UINT32) = 1 + *F PcdVpdSample : DYN-VPD (UINT32) = 0x1 (1) 0x0001FFF ``` 3. The third and fourth lines are both option if the module's final `` is not equal to the PCD value in the PCD common section in the @@ -283,16 +250,16 @@ Each PCD may contain up to four lines: DSC DEFAULT = DEC DEFAULT = ``` For example: ``` - *P PcdPlatformBootTimeOut : DYNHII (UINT16) = 10 + *M PcdDebugPrintErrorLevel : FIXED (UINT32) = 0x80000042 (2147483714) + DSC DEFAULT = 0x80000040 (2147483712) + DEC DEFAULT = 0x80000000 (2147483648) + *P PcdPlatformBootTimeOut : DYNHII (UINT16) = 0xA (10) gEfiGlobalVariableGuid: L"Timeout": 0x0 - DEC DEFAULT = 0xffff - *M PcdDebugPrintErrorLevel : FIXED (UINT32) = 0x80000042 - DSC DEFAULT = 0x80000040 - DEC DEFAULT = 0x80000000 + DEC DEFAULT = 0xffff (65535) ``` 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 diff --git a/13_build_reports/README.md b/13_build_reports/README.md index 9050690..b774d68 100644 --- a/13_build_reports/README.md +++ b/13_build_reports/README.md @@ -1,9 +1,9 @@