From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from msmail.insydesw.com.tw (ms.insydesw.com [211.75.113.220]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8697A21951CB4 for ; Wed, 26 Apr 2017 09:21:18 -0700 (PDT) Received: from msmail.insydesw.com.tw ([fe80::74f7:f173:f4aa:9a05]) by msmail.insydesw.com.tw ([fe80::74f7:f173:f4aa:9a05%11]) with mapi id 14.01.0438.000; Thu, 27 Apr 2017 00:21:16 +0800 From: Tim Lewis To: "Zeng, Star" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Gao, Liming" Thread-Topic: [RFC] PCD: Extended SKU support 1 - inheritance Thread-Index: AdK8pzAQEOD5vN6pRr2+K5rEi6Vq8wCAToJw Date: Wed, 26 Apr 2017 16:21:16 +0000 Message-ID: <7236196A5DF6C040855A6D96F556A53F5763C0@msmail.insydesw.com.tw> References: <0C09AFA07DD0434D9E2A0C6AEB0483103B87E776@shsmsx102.ccr.corp.intel.com> In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103B87E776@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US, zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.100.107] MIME-Version: 1.0 Subject: Re: [RFC] PCD: Extended SKU support 1 - inheritance 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: Wed, 26 Apr 2017 16:21:19 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Star -- This assumes that the SKU ID is only used for PCDs, which is not the case. = The SKU ID may be used by other components, and other components may use th= e 0|DEFAULT rule as well.=20 1) There is no way to read this defaulting rule at runtime. The information= is buried in the PCD database, but not available externally. 2) There is no way to read the contents of SKUID_IDENTIFIER when multiple S= KUs are specified. While more than one SKU can be specified (separated by s= paces), there is no way to pass multiple values into build.exe today, nor i= s there any way to identify which SKUs (out of the total list of SKUs) is s= upported on one build at runtime. Tim -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Zeng= , Star Sent: Tuesday, April 25, 2017 5:40 AM To: edk2-devel@lists.01.org Cc: Kinney, Michael D ; Zeng, Star ; Gao, Liming Subject: [edk2] [RFC] PCD: Extended SKU support 1 - inheritance - Requirement Simplify the PCDs configuring for multiple SKUs in DSC. - Current limitation Non-DEFAULT SKU could only derive from DEFAULT SKU, but could not derive fr= om another non-DEFAULT SKU. For example below, SkuA and SkuB could only derive from DEFAULT, but SkuB c= ould not derive from SkuA. [SkuIds] =A0 0 | DEFAULT =A0 1 | SkuA =A0 2 | SkuB - Proposal: One non-DEFAULT SKU could be a derivative of another non-DEFAUL= T SKU. This proposal only extends DSC [SkuIds] section syntax and the extension is= optional. This proposal keeps the backward compatibility with current SKU usage. BaseTools update is needed to support the syntax extension, and no any chan= ge in PCD database and driver is required. DSC syntax: [SkuIds] SkuValue|SkuName[|ParentSkuName] SkuValue: integer, 0 is reserved for DEFAULT SKU. SkuName: string ParentSkuName: string, optional, it is new introduced in this proposa= l and defines which SKU the PCD value will derive from for this SKU. The PC= D value will derive from DEFAULT SKU for this SKU if the ParentSkuName is a= bsent. - Example: SkuB is a derivative of SkuA, but not a derivative of DEFAULT. [SkuIds] 0 | DEFAULT 1 | SkuA 2 | SkuB | SkuA [PcdsDynamicDefault.Common.DEFAULT] gXXXPkgTokenSpaceGuid.PcdXXXSignature|"DEFAULT" gXXXPkgTokenSpaceGuid.PcdXXXConfig1|FALSE gXXXPkgTokenSpaceGuid.PcdXXXConfig2|FALSE gXXXPkgTokenSpaceGuid.PcdXXXConfig3|FALSE [PcdsDynamicDefault.Common.SkuA] gXXXPkgTokenSpaceGuid.PcdXXXSignature|"SkuA" gXXXPkgTokenSpaceGuid.PcdXXXConfig1|TRUE gXXXPkgTokenSpaceGuid.PcdXXXConfig2|TRUE # No need statement for PcdXXXConfig3 whose value will derive from DEFA= ULT SKU and be FLASE. =20 [PcdsDynamicDefault.Common.SkuB] gXXXPkgTokenSpaceGuid.PcdXXXSignature|" SkuB" # No need statement for PcdXXXConfig1 and PcdXXXConfig2 whose values wi= ll derive from SkuA SKU and be TRUE. gXXXPkgTokenSpaceGuid.PcdXXXConfig3|TRUE _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel