From nobody Sat Nov 2 08:38:48 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1493082714318892.7971320761711; Mon, 24 Apr 2017 18:11:54 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 0BFFA21954094; Mon, 24 Apr 2017 18:11:52 -0700 (PDT) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 810412195408C for ; Mon, 24 Apr 2017 18:11:50 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Apr 2017 18:11:50 -0700 Received: from mdkinney-mobl.amr.corp.intel.com ([10.241.98.36]) by fmsmga006.fm.intel.com with ESMTP; 24 Apr 2017 18:11:49 -0700 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,247,1488873600"; d="scan'208";a="93698291" From: Michael Kinney To: edk2-devel@lists.01.org Date: Mon, 24 Apr 2017 18:11:47 -0700 Message-Id: <1493082707-4972-2-git-send-email-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.6.3.windows.1 In-Reply-To: <1493082707-4972-1-git-send-email-michael.d.kinney@intel.com> References: <1493082707-4972-1-git-send-email-michael.d.kinney@intel.com> Subject: [edk2] [ edk2-BuildSpecification PATCH] Add support for Private declarations in a package 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: , Cc: Kevin W Shaw , Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D465 Process new syntax in the DEC file that specifies information that can only be used by modules within the package. When modules outside the packages attempt to use this content, the EDK II build system must break with an error regarding content not found. The four sections, Includes, Ppis, Guids and Protocols headers will be the keyword, Private, following the architecture modifier. If Private is not present, then the content is usable by modules outside the package. Cc: Liming Gao Cc: Yonghong Zhu Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney --- .../82_auto-generation_process.md | 35 ++++++++++++++----= ---- .../84_auto-generated_pcd_database_file.md | 6 ++++ README.md | 3 +- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/8_pre-build_autogen_stage/82_auto-generation_process.md b/8_pr= e-build_autogen_stage/82_auto-generation_process.md index 6868d62..22a8b08 100644 --- a/8_pre-build_autogen_stage/82_auto-generation_process.md +++ b/8_pre-build_autogen_stage/82_auto-generation_process.md @@ -1034,16 +1034,25 @@ II module: - DSC file's architecture specific modifier only `[LibraryClasses.arch]` - The DSC file's common `[LibraryClasses]` section =20 -********** -**Note:** For modules of type **USER_DEFINED**_, if a `NULL` library class -is required, the library instance should be listed in the INF scoping -`` section of the component. -********** + ********** + **Note:** For modules of type **USER_DEFINED**_, if a `NULL` library cla= ss + is required, the library instance should be listed in the INF scoping + `` section of the component. + ********** =20 * Inherit GUIDs, Protocols and PPIs from all library instances obtained ab= ove, and determine values or type of them. The value of a GUID, Protocol or P= PI is defined in DEC file. =20 + ********** + **Note:** If GUID, Protocol or PPI is listed in a DEC file, where the + `Private` modifier is used in the section tag (`[Guids.common.Private]` = for + example), only modules within the package are permitted to use the GUID, + Protocol or PPI. If a module or library instance outside of the package + attempts to use the item, the build must fail with an appropriate error + message. + ********** + * Inherit PCDs from all library instances obtained above and determine val= ues and type. The value and type of a PCD are obtained from a DSC file, INF = file or DEC file if it cannot be found in the DSC or INF file. For each EDK II @@ -1058,14 +1067,14 @@ is required, the library instance should be listed = in the INF scoping - The INF file's PCD sections - The DEC file's PCD sections =20 -********** -**Note:** Values of PCDs using the FeatureFlag, PatchableInModule and -FixedAtBuild access methods set for this INF file are local to the INF fil= e and -do not pertain to any other INF files. Dynamic and DynamicEx access method= PCD -values are global to a platform and should not be overridden by specifying= them -here. If, however, the dynamic PCDs are only valid for this INF, it is -permissible to set them here. -********** + ********** + **Note:** Values of PCDs using the FeatureFlag, PatchableInModule and + FixedAtBuild access methods set for this INF file are local to the INF f= ile and + do not pertain to any other INF files. Dynamic and DynamicEx access meth= od PCD + values are global to a platform and should not be overridden by specifyi= ng them + here. If, however, the dynamic PCDs are only valid for this INF, it is + permissible to set them here. + ********** =20 * Inherit library instance dependency (`[Depex]` sections) expressions if a module does not list a separate dependency file. diff --git a/8_pre-build_autogen_stage/84_auto-generated_pcd_database_file.= md b/8_pre-build_autogen_stage/84_auto-generated_pcd_database_file.md index d309246..fc291c5 100644 --- a/8_pre-build_autogen_stage/84_auto-generated_pcd_database_file.md +++ b/8_pre-build_autogen_stage/84_auto-generated_pcd_database_file.md @@ -99,6 +99,12 @@ DSC, INF or DEC files. =20 5. Command line cannot be used to set the PCD value. =20 +6. If a PCD has a Token Space GUID specified in DEC file and the `[Guids]` + section tag contains the `Private` modifier (`[Guids.common.Private]` f= or + example), the PCD may only be used by modules in the package containing= the + DEC file. If a module outside of that package attempts to use the PCD, = the + build must break with an appropriate error message. + #### 8.4.1.2 Precedence Rules for PCDs not listed in the DSC or FDF Files: =20 This subsection covers PCDs that are used by modules listed in the DSC fil= e, diff --git a/README.md b/README.md index 89578d0..94b2062 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ Copyright (c) 2008-2017, Intel Corporation. All rights = reserved. | 1.24 w/ | Updates: = = = = | A= ugust 2015 | | Errata A | Updated 10.4 to describe how tools add an FvNameString in t= he FV image extension header = = = | = | | | Update 8.7.5 - 8.7.9 to allow the build system to update us= age information based on feature flag evaluation during the build = = = | = | -| 1.26 | Updates : = = = = | = January 2016 | +| 1.26 | Updates : = = = = | J= anuary 2016 | | | Specification revision to 1.26 = = = = | = | | | Removed data structure definitions (duplicates from PE/ COF= F, PI Specifications and TE headers) in Chapter 3 and included references t= o the industry specifications to remove potential typographical errors and = inconsistencies. = | = | | | Removed Setup and Getting Started sections from Quick Start= chapter 6 - this information is available on the TianoCore.org web-site. = = = | = | @@ -208,3 +208,4 @@ Copyright (c) 2008-2017, Intel Corporation. All rights = reserved. | | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=3D479= ) Build spec: add description for nmake long command line handling = = = |= | | | [#485](https://bugzilla.tianocore.org/show_bug.cgi?id=3D485= ) Build spec: add support for mixed Pcd access method = = = |= | | | [#476](https://bugzilla.tianocore.org/show_bug.cgi?id=3D476= ) Build spec: add support for HII image package = = = |= | +| | [#465](https://bugzilla.tianocore.org/show_bug.cgi?id=3D465= ) DEC spec: document private definitions = = = |= | --=20 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel