From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 C4B8F21954092 for ; Tue, 25 Apr 2017 05:39:55 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Apr 2017 05:39:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,249,1488873600"; d="scan'208";a="78621493" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga002.jf.intel.com with ESMTP; 25 Apr 2017 05:39:55 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 25 Apr 2017 05:39:54 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 25 Apr 2017 05:39:54 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.246]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0319.002; Tue, 25 Apr 2017 20:39:52 +0800 From: "Zeng, Star" To: "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Gao, Liming" , "Zhu, Yonghong" , "Zeng, Star" Thread-Topic: [RFC] PCD: Extended SKU support 1 - inheritance Thread-Index: AdK8pzAQEOD5vN6pRr2+K5rEi6Vq8w== Date: Tue, 25 Apr 2017 12:39:51 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103B87E776@shsmsx102.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: [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: Tue, 25 Apr 2017 12:39:56 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable - 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