From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 598A521A16EC7 for ; Sat, 27 May 2017 11:09:14 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP; 27 May 2017 11:10:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,404,1491289200"; d="scan'208";a="107794182" Received: from pohung-mobl.amr.corp.intel.com (HELO mdkinney-MOBL.amr.corp.intel.com) ([10.252.129.193]) by fmsmga006.fm.intel.com with ESMTP; 27 May 2017 11:10:10 -0700 From: Michael Kinney To: edk2-devel@lists.01.org Cc: Liming Gao , Yonghong Zhu , Kevin W Shaw Date: Sat, 27 May 2017 11:10:06 -0700 Message-Id: <1495908606-32820-2-git-send-email-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.6.3.windows.1 In-Reply-To: <1495908606-32820-1-git-send-email-michael.d.kinney@intel.com> References: <1495908606-32820-1-git-send-email-michael.d.kinney@intel.com> Subject: [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: Sat, 27 May 2017 18:09:14 -0000 https://bugzilla.tianocore.org/show_bug.cgi?id=520 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_design_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. Default values from DEC files are not permitted in the EDK II build system for PCDs specified in the FDF file. -PCD values set in this file override PCD settings in other EDK II meta-data -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: `PcdTokenSpaceGuidCName.PcdCName` +### 2.1.2 Precedence of PCD Values + +The values that are assigned to individual PCDs required by a build may come +from different locations and different meta-data files. The 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 +architectural modifiers take precedence over PCD sections that are common to +all architectures. + +If a PCD is listed in the same section multiple times, the last one is used. + #### PCD RULES There are no PCD sections defined for the FDF file. PCD values are assigned 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 implementation) | | -| 1.28 | Convert to GitBooks | April 2017 | +| 1.28 | Convert to GitBooks | May 2017 | | | [#426](https://bugzilla.tianocore.org/show_bug.cgi?id=426) IMAGE_TYPE_ID must be provided with value, FDF should mark it as required section | | | | [#373](https://bugzilla.tianocore.org/show_bug.cgi?id=373) Conditional statement examples incorrect | | | | [#461](https://bugzilla.tianocore.org/show_bug.cgi?id=461) 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=142) Update EDK II FDF Specification to allow sections in any order | | | | [#478](https://bugzilla.tianocore.org/show_bug.cgi?id=478) FDF spec: extend the to support and | | | | [#353](https://bugzilla.tianocore.org/show_bug.cgi?id=353) Build spec: Allow nested includes in DSC and FDF files | | +| | [#520](https://bugzilla.tianocore.org/show_bug.cgi?id=520) FDF spec: Update Precedence of PCD Values | | -- 2.6.3.windows.1