From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 2262821A16EFF for ; Tue, 30 May 2017 18:25:09 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2017 18:26:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,420,1491289200"; d="scan'208";a="974893263" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga003.jf.intel.com with ESMTP; 30 May 2017 18:26:08 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 30 May 2017 18:26:07 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 30 May 2017 18:26:07 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.116]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.56]) with mapi id 14.03.0319.002; Wed, 31 May 2017 09:26:00 +0800 From: "Zhu, Yonghong" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Gao, Liming" , "Shaw, Kevin W" , "Zhu, Yonghong" Thread-Topic: [edk2-FdfSpecification PATCH] Update Precedence of PCD Values Thread-Index: AQHS1xR7B/mPQRlDjEqC0Xz6uWU98KIH9KoAgAW22NA= Date: Wed, 31 May 2017 01:26:00 +0000 Message-ID: References: <1495908606-32820-1-git-send-email-michael.d.kinney@intel.com> <1495908606-32820-2-git-send-email-michael.d.kinney@intel.com> In-Reply-To: <1495908606-32820-2-git-send-email-michael.d.kinney@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [edk2-FdfSpecification PATCH] Update Precedence of PCD Values X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 May 2017 01:25:09 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Yonghong Zhu =20 Best Regards, Zhu Yonghong -----Original Message----- From: Kinney, Michael D=20 Sent: Sunday, May 28, 2017 2:10 AM To: edk2-devel@lists.01.org Cc: Gao, Liming ; Zhu, Yonghong ; Shaw, Kevin W Subject: [edk2-FdfSpecification PATCH] Update Precedence of PCD Values https://bugzilla.tianocore.org/show_bug.cgi?id=3D520 Cc: Liming Gao Cc: Yonghong Zhu Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney --- 2_fdf_design_discussion/21_processing_overview.md | 26 +++++++++++++++++++= ---- README.md | 3 ++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/2_fdf_design_discussion/21_processing_overview.md b/2_fdf_desi= gn_discussion/21_processing_overview.md index ddef010..7a045dd 100644 --- a/2_fdf_design_discussion/21_processing_overview.md +++ b/2_fdf_design_discussion/21_processing_overview.md @@ -105,13 +105,31 @@ warning message on the PCD defined in the DSC file. D= efault values from DEC files are not permitted in the EDK II build system = for PCDs specified in the FDF file. =20 -PCD values set in this file override PCD settings in other EDK II meta-dat= a -files. Note that PCDs settings are positional within the FDF file. - -Additionally, the PCDs used in the FDF file must be specified as: +The PCDs used in the FDF file must be specified as: =20 `PcdTokenSpaceGuidCName.PcdCName` =20 +### 2.1.2 Precedence of PCD Values + +The values that are assigned to individual PCDs required by a build may=20 +come from different locations and different meta-data files. The=20 +following provides the precedence (high to low) to assign a value to a PCD= . + +* Command-line, `--pcd` flags (left most has higher priority) +* DSC file, Component INF `` section statements +* FDF file, grammar describing automatic assignment of PCD values +* FDF file, SET statements within a section +* FDF file, SET statement in the [Defines] section +* DSC file, global [Pcd*] sections +* INF file, PCD sections, Default Values +* DEC file, PCD sections, Default Values + +In addition to the above precedence rules, PCDs set in sections with=20 +architectural modifiers take precedence over PCD sections that are=20 +common to all architectures. + +If a PCD is listed in the same section multiple times, the last one is use= d. + #### PCD RULES =20 There are no PCD sections defined for the FDF file. PCD values are assigne= d in diff --git a/README.md b/README.md index 131246d..bad0930 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Copyright (c) 2006-2017, Intel Corporation. All rights = reserved. | | PACKAGES_PATH and EDK_TOOLS_BIN, used by the build system. = = | | | | Allow INF statements in FD regions. = = | | | | Clarified [UserExtensions] content in chapter 2 (to match i= mplementation) = | | -| 1.28 | Convert to GitBooks = = | April 2017 | +| 1.28 | Convert to GitBooks = = | May 2017 | | | [#426](https://bugzilla.tianocore.org/show_bug.cgi?id=3D426= ) IMAGE_TYPE_ID must be provided with value, FDF should mark it as required= section | | | | [#373](https://bugzilla.tianocore.org/show_bug.cgi?id=3D373= ) Conditional statement examples incorrect = | | | | [#461](https://bugzilla.tianocore.org/show_bug.cgi?id=3D461= ) FDF Spec: add a super script number for the = | | @@ -206,3 +206,4 @@ Copyright (c) 2006-2017, Intel Corporation. All rights = reserved. | | [#142](https://bugzilla.tianocore.org/show_bug.cgi?id=3D142= ) Update EDK II FDF Specification to allow sections in any order = | | | | [#478](https://bugzilla.tianocore.org/show_bug.cgi?id=3D478= ) FDF spec: extend the to support and | | | | [#353](https://bugzilla.tianocore.org/show_bug.cgi?id=3D353= ) Build spec: Allow nested includes in DSC and FDF files = | | +| | [#520](https://bugzilla.tianocore.org/show_bug.cgi?id=3D520= ) FDF spec: Update Precedence of PCD Values = | | -- 2.6.3.windows.1