From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 AC04821954092 for ; Mon, 24 Apr 2017 19:37:35 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP; 24 Apr 2017 19:37:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,247,1488873600"; d="scan'208";a="80504978" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga004.jf.intel.com with ESMTP; 24 Apr 2017 19:37:35 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 24 Apr 2017 19:37:34 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX119.amr.corp.intel.com (10.18.124.207) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 24 Apr 2017 19:37:34 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.117]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.217]) with mapi id 14.03.0319.002; Tue, 25 Apr 2017 10:37:32 +0800 From: "Zhu, Yonghong" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Gao, Liming" , "Shaw, Kevin W" , "Zhu, Yonghong" Thread-Topic: [ edk2-BuildSpecification PATCH] Add support for Private declarations in a package Thread-Index: AQHSvWDrjJ7dh3X33E6sV9C7m0XsGKHUwPOAgACQN7D//4djgIAAhljw Date: Tue, 25 Apr 2017 02:37:31 +0000 Message-ID: References: <1493082707-4972-1-git-send-email-michael.d.kinney@intel.com> <1493082707-4972-2-git-send-email-michael.d.kinney@intel.com> In-Reply-To: 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-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: , X-List-Received-Date: Tue, 25 Apr 2017 02:37:35 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Yes, I think we should remove it as part of #480. Thanks. Best Regards, Zhu Yonghong -----Original Message----- From: Kinney, Michael D=20 Sent: Tuesday, April 25, 2017 10:36 AM To: Zhu, Yonghong ; edk2-devel@lists.01.org; Kinney= , Michael D Cc: Gao, Liming ; Shaw, Kevin W Subject: RE: [ edk2-BuildSpecification PATCH] Add support for Private decla= rations in a package Yonghong, The sentence about setting a PCD from the command line is related to https://bugzilla.tianocore.org/show_bug.cgi?id=3D480 #480 Build spec: add description for Override PCD value on the command line This will update the Build Specification to add the --pcd command line flag= to set PCD values.=20 Should the following item be removed as part of #480? " 5. Command > line cannot be used to set the PCD value." Thanks, Mike > -----Original Message----- > From: Zhu, Yonghong > Sent: Monday, April 24, 2017 6:54 PM > To: Kinney, Michael D ;=20 > edk2-devel@lists.01.org > Cc: Gao, Liming ; Shaw, Kevin W=20 > ; Zhu, Yonghong > Subject: RE: [ edk2-BuildSpecification PATCH] Add support for Private=20 > declarations in a package >=20 > Hi Mike, >=20 > This patch is good to me. Reviewed-by: Yonghong Zhu=20 > >=20 > while during review this patch, I found one update we wound made for "=20 > 5. Command line cannot be used to set the PCD value.". It is not=20 > related with this topic, but we can create another patch to update this s= entence. Thanks. >=20 > Best Regards, > Zhu Yonghong >=20 >=20 > -----Original Message----- > From: Kinney, Michael D > Sent: Tuesday, April 25, 2017 9:12 AM > To: edk2-devel@lists.01.org > Cc: Gao, Liming ; Zhu, Yonghong=20 > ; Shaw, Kevin W > Subject: [ edk2-BuildSpecification PATCH] Add support for Private=20 > declarations in a package >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D465 >=20 > Process new syntax in the DEC file that specifies information that can=20 > only be used by modules within the package. When modules outside the=20 > packages attempt to use this content, the EDK II build system must=20 > break with an error regarding content not found. >=20 > The four sections, Includes, Ppis, Guids and Protocols headers will be=20 > the keyword, Private, following the architecture modifier. If Private=20 > is not present, then the content is usable by modules outside the package= . >=20 > 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(-) >=20 > diff --git a/8_pre-build_autogen_stage/82_auto-generation_process.md=20 > b/8_pre- 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=20 > class -is required, the library instance should be listed in the INF=20 > scoping - `` section of the component. > -********** > + ********** > + **Note:** For modules of type **USER_DEFINED**_, if a `NULL`=20 > + library class is required, the library instance should be listed in=20 > + the INF scoping `` section of the component. > + ********** >=20 > * Inherit GUIDs, Protocols and PPIs from all library instances obtained = above, > and determine values or type of them. The value of a GUID, Protocol or= PPI is > defined in DEC file. >=20 > + ********** > + **Note:** If GUID, Protocol or PPI is listed in a DEC file, where=20 > + the `Private` modifier is used in the section tag=20 > + (`[Guids.common.Private]` for example), only modules within the=20 > + package are permitted to use the GUID, Protocol or PPI. If a module=20 > + or library instance outside of the package attempts to use the=20 > + item, the build must fail with an appropriate error message. > + ********** > + > * Inherit PCDs from all library instances obtained above and determine v= alues > and type. The value and type of a PCD are obtained from a DSC file, IN= F file > or DEC file if it cannot be found in the DSC or INF file. For each=20 > EDK II @@ - > 1058,14 +1067,14 @@ is required, the library instance should be listed=20 > 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=20 > - FixedAtBuild access methods set for this INF file are local to the=20 > INF file and - do not pertain to any other INF files. Dynamic and=20 > DynamicEx access method PCD - values are global to a platform and=20 > should not be overridden by specifying them - here. If, however, the=20 > dynamic PCDs are only valid for this INF, it is - permissible to set them= here. > -********** > + ********** > + **Note:** Values of PCDs using the FeatureFlag, PatchableInModule=20 > + and FixedAtBuild access methods set for this INF file are local to=20 > + the INF file and do not pertain to any other INF files. Dynamic and=20 > + DynamicEx access method PCD values are global to a platform and=20 > + should not be overridden by specifying them here. If, however, the=20 > + dynamic PCDs are only valid for this INF, it is permissible to set the= m here. > + ********** >=20 > * Inherit library instance dependency (`[Depex]` sections) expressions i= f a > module does not list a separate dependency file. > diff --git=20 > 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]`= for > + example), the PCD may only be used by modules in the package containi= ng 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 File= s: >=20 > This subsection covers PCDs that are used by modules listed in the=20 > DSC file, diff --git a/README.md b/README.md index 89578d0..94b2062=20 > 100644 > --- a/README.md > +++ b/README.md > @@ -188,7 +188,7 @@ Copyright (c) 2008-2017, Intel Corporation. All=20 > rights reserved. > | 1.24 w/ | Updates: > | August 2015 | > | Errata A | Updated 10.4 to describe how tools add an FvNameString in= the FV > image extension header > | | > | | Update 8.7.5 - 8.7.9 to allow the build system to update = usage > information based on feature flag evaluation during the build > | | > -| 1.26 | Updates : > | January 2016 | > +| 1.26 | Updates : > | January 2016 | > | | Specification revision to 1.26 > | | > | | Removed data structure definitions (duplicates from PE/ C= OFF, PI > Specifications and TE headers) in Chapter 3 and included references to=20 > the industry specifications to remove potential typographical errors=20 > and inconsistencies. > | | > | | Removed Setup and Getting Started sections from Quick Sta= rt > chapter 6 - this information is available on the TianoCore.org web-site. > | | > @@ -208,3 +208,4 @@ Copyright (c) 2008-2017, Intel Corporation. All=20 > rights reserved. > | | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=3D4= 79) Build > spec: add description for nmake long command line handling > | | > | | [#485](https://bugzilla.tianocore.org/show_bug.cgi?id=3D4= 85) Build > spec: add support for mixed Pcd access method > | | > | | [#476](https://bugzilla.tianocore.org/show_bug.cgi?id=3D4= 76) Build > spec: add support for HII image package > | | > +| |=20 > +| [#465](https://bugzilla.tianocore.org/show_bug.cgi?id=3D465) DEC > spec: document private definitions > | | > -- > 2.6.3.windows.1