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 BC74421954092 for ; Mon, 24 Apr 2017 19:46:22 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Apr 2017 19:46:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,247,1488873600"; d="scan'208";a="80506452" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga004.jf.intel.com with ESMTP; 24 Apr 2017 19:46:21 -0700 Received: from orsmsx151.amr.corp.intel.com (10.22.226.38) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 24 Apr 2017 19:46:21 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.59]) by ORSMSX151.amr.corp.intel.com ([169.254.7.57]) with mapi id 14.03.0319.002; Mon, 24 Apr 2017 19:46:21 -0700 From: "Kinney, Michael D" To: "Zhu, Yonghong" , "edk2-devel@lists.01.org" , "Kinney, Michael D" CC: "Gao, Liming" , "Shaw, Kevin W" Thread-Topic: [ edk2-BuildSpecification PATCH] Add support for Private declarations in a package Thread-Index: AQHSvWbICBohP5Qkp0WZA4q4s16ta6HVXVtwgAB29oD//4z8kA== Date: Tue, 25 Apr 2017 02:46:20 +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-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDRiYjYyMTMtZjhhMi00ZmZhLWJkYTYtZTFkM2U2NTNmNTQyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IkI2cE0rVjhlT3o1eVVRXC9uTlI1OUU3MnoxS3ZFTHAyaXExTnoyajNSVkpJPSJ9 dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.22.254.138] 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:46:23 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Yonghong, Thanks. I have updated #480 with that recommendation. Mike > -----Original Message----- > From: Zhu, Yonghong > Sent: Monday, April 24, 2017 7:38 PM > To: Kinney, Michael D ; edk2-devel@lists.01.o= rg > Cc: Gao, Liming ; Shaw, Kevin W ; > Zhu, Yonghong > Subject: RE: [ edk2-BuildSpecification PATCH] Add support for Private dec= larations > in a package >=20 > Yes, I think we should remove it as part of #480. Thanks. >=20 > Best Regards, > Zhu Yonghong >=20 >=20 > -----Original Message----- > From: Kinney, Michael D > Sent: Tuesday, April 25, 2017 10:36 AM > To: Zhu, Yonghong ; edk2-devel@lists.01.org; Kinn= ey, > Michael D > Cc: Gao, Liming ; Shaw, Kevin W > Subject: RE: [ edk2-BuildSpecification PATCH] Add support for Private dec= larations > in a package >=20 > Yonghong, >=20 > The sentence about setting a PCD from the command line is related to >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D480 >=20 > #480 Build spec: add description for Override PCD value on the command li= ne >=20 > This will update the Build Specification to add the --pcd command line fl= ag to set > PCD values. >=20 > Should the following item be removed as part of #480? >=20 > " 5. Command > line cannot be used to set the PCD value." >=20 > Thanks, >=20 > Mike >=20 > > -----Original Message----- > > From: Zhu, Yonghong > > Sent: Monday, April 24, 2017 6:54 PM > > To: Kinney, Michael D ; > > edk2-devel@lists.01.org > > Cc: Gao, Liming ; Shaw, Kevin W > > ; Zhu, Yonghong > > Subject: RE: [ edk2-BuildSpecification PATCH] Add support for Private > > declarations in a package > > > > Hi Mike, > > > > This patch is good to me. Reviewed-by: Yonghong Zhu > > > > > > while during review this patch, I found one update we wound made for " > > 5. Command line cannot be used to set the PCD value.". It is not > > related with this topic, but we can create another patch to update this > sentence. Thanks. > > > > Best Regards, > > Zhu Yonghong > > > > > > -----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 > > ; Shaw, Kevin W > > Subject: [ edk2-BuildSpecification PATCH] Add support for Private > > declarations in a package > > > > 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 packa= ge. > > > > 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_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.ar= ch]` > > - The DSC file's common `[LibraryClasses]` section > > > > -********** > > -**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 class is required, the library instance should be listed in > > + the INF scoping `` section of the component. > > + ********** > > > > * Inherit GUIDs, Protocols and PPIs from all library instances obtaine= d above, > > and determine values or type of them. The value of a GUID, Protocol = or PPI is > > defined in DEC file. > > > > + ********** > > + **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= values > > 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 > > > > -********** > > -**Note:** Values of PCDs using the FeatureFlag, PatchableInModule and > > - FixedAtBuild access methods set for this INF file are local to the > > INF file 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 th= em here. > > -********** > > + ********** > > + **Note:** Values of PCDs using the FeatureFlag, PatchableInModule > > + and FixedAtBuild access methods set for this INF file are local to > > + the INF file 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 t= hem here. > > + ********** > > > > * 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. > > > > 5. Command line cannot be used to set the PCD value. > > > > +6. If a PCD has a Token Space GUID specified in DEC file and the `[Gui= ds]` > > + section tag contains the `Private` modifier (`[Guids.common.Private= ]` for > > + example), the PCD may only be used by modules in the package contai= ning the > > + DEC file. If a module outside of that package attempts to use the P= CD, the > > + build must break with an appropriate error message. > > + > > #### 8.4.1.2 Precedence Rules for PCDs not listed in the DSC or FDF Fi= les: > > > > This subsection covers PCDs that are used by modules listed in the > > DSC file, 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: > > | 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 updat= e 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/= COFF, PI > > Specifications and TE headers) in Chapter 3 and included references to > > the industry specifications to remove potential typographical errors > > and inconsistencies. > > | | > > | | Removed Setup and Getting Started sections from Quick S= tart > > 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 > > | | > > -- > > 2.6.3.windows.1