public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Michael Kinney <michael.d.kinney@intel.com>
To: edk2-devel@lists.01.org
Cc: Liming Gao <liming.gao@intel.com>,
	Yonghong Zhu <yonghong.zhu@intel.com>,
	Kevin W Shaw <kevin.w.shaw@intel.com>
Subject: [edk2-FdfSpecification PATCH] Update Precedence of PCD Values
Date: Sat, 27 May 2017 11:10:06 -0700	[thread overview]
Message-ID: <1495908606-32820-2-git-send-email-michael.d.kinney@intel.com> (raw)
In-Reply-To: <1495908606-32820-1-git-send-email-michael.d.kinney@intel.com>

https://bugzilla.tianocore.org/show_bug.cgi?id=520

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
---
 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 `<Pcd*>` 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 <FmpFileData>                                                       |               |
@@ -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 <FmpFileData> to support <FvStatements> and <FdStatenents>                                 |               |
 |            | [#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



  reply	other threads:[~2017-05-27 18:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-27 18:10 [edk2-FdfSpecification PATCH] Update Precedence of PCD Values Michael Kinney
2017-05-27 18:10 ` Michael Kinney [this message]
2017-05-31  1:26   ` Zhu, Yonghong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1495908606-32820-2-git-send-email-michael.d.kinney@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox