From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web11.1879.1642102434888186874 for ; Thu, 13 Jan 2022 11:33:55 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=BSixkV6v; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642102434; x=1673638434; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=moPb5YTmleKFO2C1PC6cliKeZE+4ohCYT118V/4ZKUY=; b=BSixkV6vXv1GQ054V+wIgcCwmTBs9iE/7Mp9XS9fThoHuV90DE5RnP+V x9kobqk5Kn+7jEa5DTEeQ/VSOmG9Em1LG0ARK+fu9KuaxzonlJw36YrOZ N2GKXFT/gAOccuhPsWzgrlZi3rJ+zjLbWnVoFsk+MuTLeGM0hNhZ93eH9 otY7ltZuMJ0M7lqfJWkipdOKpRYw0csrsOW0M/VhQT6IKH+cnHH6+PTKk +KjbpaSeJIkoqg4Oknin+DDHpPUvyED29JzkUdM2jh8tTO97UlhLGe2Lj 4hbQqrXZmqV5GUU70ZKs/kL7dNcbpOMyWudFrAemSGL7+JztS833G99VI Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10226"; a="224079267" X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="224079267" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2022 11:33:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="529802092" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga008.jf.intel.com with ESMTP; 13 Jan 2022 11:33:53 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 13 Jan 2022 11:33:52 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 13 Jan 2022 11:33:52 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 13 Jan 2022 11:33:52 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.174) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 13 Jan 2022 11:33:52 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NJdZTYlColl0VKOvp8ywOhhgAvX2NgP5kQqeVAJ02rnZCuwmrlPwlDMaV4lKZPBumNMcQ6jY4o8VMwvtWGGnySfHFtGdggqGB/yEv+gNUNCyszd2i7cJyhPpmypHlt/+axv5kUI7lyQxZVoBilpHcG1FuYSfZT6KEwXd4NWqcRAymv53QykSoiNGr0YQo8axVSP6j/U3Q8q8vicbl8eq7zC7teomMAG6s6djEjYXId9uo9B2DDcKb287gs1jrKws6t9tSIDcIyaEuVaaWQxyp02396lmR3A4z3KbMgoijj/fBPSAEYeTmNBid/QugFL05yK5pogmJeDDHOCdRE2mGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3qB/W9Oggz9jyU/YOjsqN12pX8vSfaVQbZBnL6xO4Lc=; b=A68RuGRMHFDeXe/z5klMz6OH9GIKXVENBIyAjkeFDk1J4eufE0R19X4QtyK20gtnP0F24nZlm00/IFyb4cx9Ke0KIpyEJYhn9GrTBvpZulmWo9URMlZEb5VKBBuyJEnsnpxmciGsAUwzUBY1vo/T2PmmWuv7cm+FM+Hkq+tBSK5c6F2WZYuXOoK7sSTP7dHjXn6LxJZJfQmGTAEbKtUzHZqP2tlKCClMJdreS2X8weMyZ/S0wVcIrALTwdK5yNGwMXkAHcIupO4gNRH18iexIpf1h9tW0phtNrVGsIQhKpRLTs86+K7arEsjK1X5lRAnUhlfRPQBIBVjjKqabND7IQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW3PR11MB4747.namprd11.prod.outlook.com (2603:10b6:303:2f::11) by BL1PR11MB5554.namprd11.prod.outlook.com (2603:10b6:208:31d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 13 Jan 2022 19:33:50 +0000 Received: from MW3PR11MB4747.namprd11.prod.outlook.com ([fe80::9c36:57de:e967:55a3]) by MW3PR11MB4747.namprd11.prod.outlook.com ([fe80::9c36:57de:e967:55a3%6]) with mapi id 15.20.4888.011; Thu, 13 Jan 2022 19:33:50 +0000 From: "Oram, Isaac W" To: "Desimone, Nathaniel L" , "devel@edk2.groups.io" CC: "Chaganty, Rangasai V" , "Gao, Liming" , "Dong, Eric" , "Tan, Ming" , "Chiu, Chasel" , "Bi, Dandan" , "Shindo, Miki" , "Abbas, Mohamed" , "KARPAGAVINAYAGAM, MANICKAVASAKAM" Subject: Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Thread-Topic: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Thread-Index: AQHYB1sIMGzNCJneh0a95awIoByCO6xgQPqAgAAEZ4CAAA4ygIAA8HMg Date: Thu, 13 Jan 2022 19:33:50 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0de9e51f-7a37-414b-a3d0-08d9d6cba033 x-ms-traffictypediagnostic: BL1PR11MB5554:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wg32wDFS7Xy7RBhIACO1fFf56fSZnRnDNMLkDAgSViAu4/4m1fqB4qWn3Aop8GjT6NBkJ8jio3Jc7ZFGXrcGrl2MfcCz4CkUDe8VUpv8SrmBcrrPINFyz55WO2nRhEJFdxBJ+j/GRprUahZrnHC32cts7ZRdny2CXDiYwIYteCGvWcQaDoblUF/3mxtcEb3NYrA/GGr26wMU1x7BuoOhSsn0A5hjnj9FeMbPwHggwXd2zBkLSrES6SXw7T5hOpXmM97fPL4GxypohMQYykMLRYTAEwRGmfSnvFxdiPAvVq//0fedebFYXE4vu/W5kmB1C2Dbv/jwf1sOqWTA+AkFd5y4UrkWMOlO7n0tUBVT8QuhbWd1+RjEMt44FaZLrk/sDqn+8oiOrZcUZ3yq451+m51uzF3jzV+JnnXIijZN3d3Y30mH4ioMoe2pU1W9iaio1BnLCGKubjUkGdKNsczaYOtrvJqCWXXSrTm7k8a1aJb8KVl29SRDxMf+BCS49IgWqz68NtJ1KcV3/9Fet7g3pY12Zo/FZ8/qG7VEiglL/vXE/ll6pTEjPY9auR/ToQedVP3qyxFJVl6c1+T+BNlzFansgCaTfgWjr+ppDiyJJIZWWiFhCE6TYqZgdBl9cqPpMGBkZPZSHKWgd7dgwTOUgaY5hW1v49umpRSe0yoBurBppTnQoX1eNySSb8cm7k2LszVe85bmNCLSRt9jNz93o/SSHnfDeJ4J727VFnMITyG7PPlKBzkxXrwTCmEMFaN0OjYLJDXWCyOBwI+4FRjbcJ+F0uvKqSMHvjZ/wP5LFPQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR11MB4747.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(122000001)(33656002)(2906002)(26005)(508600001)(19627235002)(55016003)(71200400001)(186003)(9686003)(83380400001)(38070700005)(82960400001)(54906003)(4326008)(66446008)(66476007)(53546011)(8936002)(38100700002)(86362001)(52536014)(316002)(7696005)(76116006)(6506007)(8676002)(966005)(5660300002)(66556008)(66946007)(64756008)(110136005)(30864003)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ejFIgoqNeGpc3wIWyTK+sKdeiACWOodmsFUCpcL0aAJ3AiqCuisuCi0EMCVS?= =?us-ascii?Q?Rr8SmM0GVdnD1vRu/3yVb2Q9c6nCivUV0GyCVX2uBH9QfF0ZptTurJRYOlH2?= =?us-ascii?Q?GAt93vGxB6R7EfKGibZPw1eCABgrEIEyyHkMa/nZNIrQUq2ONReaXe6gvsj+?= =?us-ascii?Q?1OqwABpXgT0wSG7FuY6HvTPTAzVEux7yaA9oNILInu5rTjp1sWP0y4oIt/Cb?= =?us-ascii?Q?O409up8hvWiosJjj61oSIsAKFBHffAjoXGx65/kp3E8dHSz0GszhEtofkSQy?= =?us-ascii?Q?4MzMHmwepAS9DUSwCSo0IcEHB7nWCfm0GjI9sezv4rM6QdVTgpNLxGtga+26?= =?us-ascii?Q?cD4fuyrqAHDp1FeO7AlShcNsR+bpruQyiutY2LJjiA/PxvS+8RRE1/kglCYE?= =?us-ascii?Q?Kzd51ktMfRe9RfyB6Fx2LNgHU8a2XgPj6FtaF4ICmKXMROWCLASxhJtWZy1D?= =?us-ascii?Q?5wXg8j+ScJx0jLPDJ9AUBxlEGp2uoivL33Lm4Z+cRVIu6S9ZuI10MkWLuBwn?= =?us-ascii?Q?zsireOzT0JljmL7tQqY+uZhqbkvxlFXoB02e+zj+s55vGgGHSuPmKqkBHsEv?= =?us-ascii?Q?cZoTp0hzYLAv/sU4Iwyib18tc6WOFLORM/T9PdXXkzx/JfrrS5LMb/ystmS2?= =?us-ascii?Q?oov6cy1zIrDwFcedkqunjhi4H65ObuOKAsu2EncpXFYEJJRzRD+kS4lkBC6V?= =?us-ascii?Q?GcCQfmi3Dn3cOkuMYIaDDe/PFkUFjHv/Vv0EVXIyzilbP7rNRnl4CBaIy4g5?= =?us-ascii?Q?fNdK60/h86T4LHGrth5qEcsMjeiuGBm7fY7g6rSur73zrIZFsz5bJ00GwbXR?= =?us-ascii?Q?k9gSPgents4azCveP16BQpycKvkdqh15EBK6oO3vpyd+JZLHKT583ZgIJ11a?= =?us-ascii?Q?To+euHSssFB192J8Z4C3Mi7gqoZVmbHfFNwbMuzqsbi9ZCeOE487nKjJJ4ps?= =?us-ascii?Q?fg0f3qqxJ/YltDD8G2e+VjmXJLIP3wXH2bJMO6dl2elnzAWdQfOWESZ7yuDM?= =?us-ascii?Q?SLywy2EPjcuotFzEXhOqPctgfCBUCaLXUvVz5Tzk400x2SBdeDK1KkdP5tIR?= =?us-ascii?Q?l2XVCJ8OhoEfrCk4Na5gIrbpSDVX6kKl75LD5d2kktIIWhToNX1COjYu6IMr?= =?us-ascii?Q?OT1dOPHYhbVr1CDK/ave8rL3dseZMyVjaSa0K+IAyniEDHzE3nzP5XFPhndU?= =?us-ascii?Q?hapdALgk/kXwQKk4277yVGoE4AzNAAwYgptOgOVCUR3iRZGigZM96v6HINtC?= =?us-ascii?Q?JXUINGEFFAwYD7Jrs5+WTlE9g3bc+/S5OfpNjpAWMfavVJfb6qOyhn74XMlI?= =?us-ascii?Q?n0CenrF/JrUIOPmFOBurAjPeOVu+TuRGyrYPWiMC+t5M/O1qt79pEiTWNeNZ?= =?us-ascii?Q?+700cr4TbsILSlhEmgQBEeTJ9+2c3OLoHk4PE9qKnlX7SBgPxPr/+an8JlJP?= =?us-ascii?Q?c/l2gem2IpYP9X3qvUVDLQjJl6X9ld71fvNjU40lpB1rjq2ZVHO9yukJRT9b?= =?us-ascii?Q?+3PrgbIoXg6LxR4Yq5G//BXqeMSCKZHFCpnQasJ20qnx51Atpsr8LjKup8j4?= =?us-ascii?Q?HiANDeTL//Ep1D+1wBlkL7ayLBK9cNSRICfdhYUF1+B8RKmgaS0T8iZWo0Kx?= =?us-ascii?Q?Q61iWvw85SuTOJyPHVXmlhI=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW3PR11MB4747.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0de9e51f-7a37-414b-a3d0-08d9d6cba033 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2022 19:33:50.1580 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9mlVrdbS2ajt9iULGyw+bFC7Oe/R4g2nHqJ3Nhx9dtCmupLmO3Vg/TKJoxQ0DrPtVZGlUCBuk/++WLOM5ySboA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5554 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Inline discussion continues. Regards, Isaac -----Original Message----- From: Desimone, Nathaniel L =20 Sent: Wednesday, January 12, 2022 7:54 PM To: Oram, Isaac W ; devel@edk2.groups.io Cc: Chaganty, Rangasai V ; Gao, Liming ; Dong, Eric ; Tan, Ming ; Chiu, Chasel ; Bi, Dandan ; Shindo, Miki ; Abbas, Mohamed ; KARPAGAVINAYAGAM, MANICKAVASAKAM Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature b= uild consistency Hi Isaac, Comments inline. Thanks, Nate -----Original Message----- From: Oram, Isaac W =20 Sent: Wednesday, January 12, 2022 7:15 PM To: Desimone, Nathaniel L ; devel@edk2.grou= ps.io Cc: Chaganty, Rangasai V ; Gao, Liming ; Dong, Eric ; Tan, Ming ; Chiu, Chasel ; Bi, Dandan ; Shindo, Miki ; Abbas, Mohamed ; KARPAGAVINAYAGAM, MANICKAVASAKAM Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature b= uild consistency Thanks Nate. Comments in line. Regards, Isaac -----Original Message----- From: Desimone, Nathaniel L Sent: Wednesday, January 12, 2022 6:47 PM To: Oram, Isaac W ; devel@edk2.groups.io Cc: Chaganty, Rangasai V ; Gao, Liming ; Dong, Eric ; Tan, Ming ; Chiu, Chasel ; Bi, Dandan ; Shindo, Miki ; Abbas, Mohamed ; KARPAGAVINAYAGAM, MANICKAVASAKAM Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature b= uild consistency Hi Isaac, Thank you for doing this cleanup work. I have some comments for you. I have= provided a summary of my feedback below: PATCH 01/27 * Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Li= ne 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)] Note: These comments can also be addressed by restoring the @todo comment s= tating that these changes still need to be done (which you deleted.) [Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional. It appears t= hat they are fine in DSC files, even when inside an include. But they are = not fine inside an include in an FDF file. The PreMemory.fdf and PostMemor= y.fdf do not work when I try to introduce this change. =20 As these are not required, ToDo are against coding style and are bad for co= mprehensibility, I would prefer to not add such useless comments back in. = Comments should improve the comprehensibility of code and should not distra= ct from understanding the code. [Nate] The $(PEI_ARCH)/$(DXE_ARCH) additions are not be necessary in the FD= F files. Adding them to the DSC file should be sufficient. Can you re-test = with just the DSC file change? [Isaac] I can't make the build work with a macros in the DSC. FDF parsing = throws an error. I misspoke slightly in the prior comment, it is not the F= DF include that is the problem. It is the DSC include. The macros aren't used in the FDF, but the presence of the included macro s= omehow interferes with the FDF parser determining the architecture for comp= onents. It only seems to work without DSC includes. If I use $(DXE_ARCH) in an includable DSC file, the FDF parsing throws this= kind of error: For example modifying AcpiDebugFeature.dsc to use $(DXE_AR= CH) Standalone build works fine (no FDF) Enabling in a board build, you get: build.py... : error F001: Module o:\edk2-platforms\Features\Intel\Debugging\AcpiDebugF= eaturePkg\AcpiDebugDxeSmm\AcpiDebugDxe.inf NOT found in DSC file; Is it rea= lly a binary module? If I move the [Components.$(DXE_ARCH)] to the platform DSC file, then the b= uild succeeds. I have submitted a bug to document this issue: https://bugzilla.tianocore.= org/show_bug.cgi?id=3D3803 PATCH 18/27 * Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_= ARCH)] Note: This comment can also be addressed by adding a @todo comment stating = that this change still needs to be done. [Isaac] See prior response. PATCH 19/27 * Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib. [Isaac] Good catch. I guess we don't catch that class of error if the libr= ary class is not used. * Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've general= ly run into issues when a components sections does not specify a machine ar= chitecture through some sort of means. [Isaac] There is no code consuming these libraries. I verified build of 32= and 64 bit modes as well as part of AdvancedFeaturePkg build and a board p= ackage build. I believe that library classes can be specified by module type and the buil= d tool builds the right mode for the consuming driver on demand. Basically= , there is no value to specifying architecture for a library. This does not work with components however. If you leave the architecture = unspecified, you get an error when including the component in an FDF as the= build does not know how to resolve. [Nate] I bring this up because you added a [Components] section and put thi= s package's library classes into that [Components] section for the purposes= of running a build test on those library classes even though they are not = consumed by anything. That new [Components] section does not specify a mach= ine architecture so I'm wondering if the compilation still succeeds. [Isaac]=20 Compilation in 32 and 64 bit are fine. This technique was pre-existing in = the USB feature. I just moved it from the includable feature DSC to the st= andalone build DSC as I don't think that boards should build these librarie= s all the time. =20 I have a mixed feeling about it. It is a clever way to enable build testin= g for all architectures. It is misleading though, as they are libraries an= d not components. If we list the libraries in a bare [Components] section,= the architecture is controlled by the build arch input and you can thus te= st both 32b and 64b builds easily with -a options. As opposed to needing a= component that includes the library to get the build tools to build the li= brary for a given arch and cluttering the codebase with "dummy" components = to enable build testing. I think it is generally a good practice to have t= he standalone package builds verify build for all architectures. But I did= n't extend it to all features as I think that is worthy of an RFC discussio= n, if there should be another kind of build option, and so on. PATCH 26/27 Since FvAdvanced is post-memory and not covered by the boot guard IBB, I su= spect we should probably also support optional signing of that FV. [Isaac] I do not know how to act on that suggestion. That seems out of sco= pe for this change. I restricted my changes to be functionally compatible = as I do not have hardware to test these changes other than minimally. [Nate] Nevermind. I checked all the OpenBoardPkgs we have and none of them = have FV signing enabled anyway. Ignore this comment. Thanks, Nate -----Original Message----- From: Oram, Isaac W Sent: Tuesday, January 11, 2022 6:20 PM To: devel@edk2.groups.io Cc: Oram, Isaac W ; Chaganty, Rangasai V ; Gao, Liming ; Dong, Eric <= eric.dong@intel.com>; Tan, Ming ; Desimone, Nathaniel L= ; Chiu, Chasel ; Bi= , Dandan ; Shindo, Miki ; Abbas= , Mohamed ; KARPAGAVINAYAGAM, MANICKAVASAKAM Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build= consistency This series addresses inconsistencies in feature implementation and use. So= me inconsistencies are just conventions of the feature design/template/conv= ention. Some are inconsistency with feature design intent that negatively = affect the usability of the features and the amount of work required from b= oard porting engineers. Some features were missing feature enable flags. Some features had non-functional standalone builds. Many features were implemented to include common core build content in thei= r feature include files. Updated some of the Readme content. Added AdvancedFeaturePkg.fdf to build all feature content to support verify= ing no build time issues between features. Removed duplicate and unused content from build files. Modified the TemplateFeaturePkg to use the common MinPlatform include conte= nt. Removed all instances where features were relative to Features/Intel and ma= de them relative to the package roots. This does mean PACKAGES_PATH may need to be extended for all the feature do= mains. Debugging, PowerManagement, etc. However, it should enable packaging tools to function properly as the relat= ive paths violate spec. Use of the common MinPlatformPkg build includes does increase the build tim= e for each individual feature in standalone build modes. It does not negati= vely impact board or AdvancedFeaturePkg builds as the common content is onl= y built once. Part of MinPlatform arch intent is to reduce cognitive comple= xity, so the simpler build is more valuable than fast build time. Cc: Sai Chaganty Cc: Liming Gao Cc: Eric Dong Cc: Ming Tan Cc: Nate DeSimone Cc: Chasel Chiu Cc: Dandan Bi Cc: Miki Shindo Cc: Mohamed Abbas Cc: Manickavasakam Karpagavinayagam Signed-off-by: Isaac Oram Isaac Oram (27): BeepDebugFeaturePkg: Use MinPlatformPkg build include files BeepDebugFeaturePkg: Fix all relative package paths AcpiDebugFeaturePkg: Fix all relative package paths IpmiFeaturePkg: Fix all relative package paths IpmiFeaturePkg: Fix build errors S3FeaturePkg: Fix all relative package paths S3FeaturePkg: Use MinPlatformPkg build include files SmbiosFeaturePkg: Fix all relative package paths SmbiosFeaturePkg: Use MinPlatformPkg build include files UserAuthFeaturePkg: Fix all relative package paths UserAuthFeaturePkg: Use MinPlatformPkg build include files VirtualKeyboardFeaturePkg: Fix all relative package paths VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files VirtualKeyboardFeaturePkg: Add feature enable PCD NetworkFeaturePkg: Use MinPlatformPkg build include files LogoFeaturePkg: Use MinPlatformPkg build include files PostCodeDebugFeaturePkg: Complete as an advanced feature AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Usb3DebugFeaturePkg: Align with feature design guidelines SpcrFeaturePkg: Use MinPlatform build include files TemplateFeaturePkg: Use MinPlatform build include files AdvancedFeaturePkg: Fix all relative package paths AdvancedFeaturePkg: Add missing features MinPlatformPkg/Build: Add an include file for the common SPI FV info WhitleyOpenBoardPkg/Build: Use common SPI FV Header include AdvancedFeaturePkg/Build: Add FDF to create FV for all features WhitleyOpenBoardPkg/Build: Enable Features/Intel features Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc = | 67 +++++- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf = | 49 +++++ Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc = | 49 +++-- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc = | 64 +++++- Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf = | 49 +++-- Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf = | 49 +++-- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.= inf | 2 +- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.= inf | 2 +- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec = | 2 +- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc = | 21 ++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc = | 74 +------ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf = | 4 +- Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec = | 7 +- Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc = | 28 +++ Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc = | 222 ++++++------------- Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h = | 6 +- Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf = | 14 ++ Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf = | 13 ++ Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandler= Lib/PeiBeepStatusCodeHandlerLib.inf | 5 +- Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandler= Lib/RuntimeDxeBeepStatusCodeHandlerLib.inf | 3 - Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandler= Lib/SmmBeepStatusCodeHandlerLib.inf | 3 - Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md = | 91 +++++--- Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeat= ure.dsc | 231 +++++--------------- Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf = | 14 ++ Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf = | 13 ++ Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCod= eHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf | 2 +- Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.d= ec | 11 + Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.d= sc | 30 +++ Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md = | 31 ++- Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc = | 131 ++--------- Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md = | 50 +++-- Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec = | 14 +- Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc = | 18 ++ Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc = | 89 +------- Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc = | 18 ++ Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericI= pmi.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGener= icIpmi.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGener= icIpmi.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc = | 90 ++------ Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf = | 16 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf = | 6 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc = | 18 ++ Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf= | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf= | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/Ipmi= BaseLib.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/= IpmiBaseLibNull.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/I= pmiCommandLib.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHook= LibNull/IpmiPlatformHookLibNull.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/P= eiIpmiBaseLib.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/S= mmIpmiBaseLib.inf | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf = | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf = | 2 +- Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDevi= ceLib.h | 2 +- Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf = | 13 ++ Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf = | 11 + Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc = | 62 ------ Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md = | 12 +- Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec = | 6 + Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc = | 18 ++ Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf = | 2 +- Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc = | 74 +------ Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc = | 18 ++ Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf = | 2 +- Features/Intel/Readme.md = | 49 +++-- Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf = | 2 +- Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.ds= c | 54 +---- Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBas= icDxe.inf | 2 +- Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec = | 10 +- Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc = | 18 ++ Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc = | 2 +- Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc = | 18 ++ Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc = | 69 +----- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec = | 2 - Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc = | 38 +++- Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf = | 6 +- Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.ds= c | 92 +------- Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLi= bNull/PlatformPasswordLibNull.inf | 2 +- Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/Us= erPasswordLib.inf | 2 +- Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/= UserPasswordUiLib.inf | 2 +- Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc = | 18 ++ Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/U= serAuthentication2Dxe.inf | 2 +- Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/U= serAuthenticationDxe.inf | 2 +- Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/U= serAuthenticationSmm.inf | 2 +- Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.= fdf | 2 +- Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyb= oardFeature.dsc | 64 +----- Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeat= urePkg.dec | 7 +- Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeat= urePkg.dsc | 18 ++ Platform/Intel/{WhitleyOpenBoardPkg =3D> MinPlatformPkg}/Include/Fdf/Commo= nSpiFvHeaderInfo.fdf | 2 +- Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf = | 48 ++-- Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc = | 44 ++++ Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf = | 54 ++--- 96 files changed, 1159 insertions(+), 1334 deletions(-) create mode 10064= 4 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Po= stMemory.fdf create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Pr= eMemory.fdf create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Includ= e/PostMemory.fdf create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Includ= e/PreMemory.fdf create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Inclu= de/PostMemory.fdf create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Inclu= de/PreMemory.fdf rename Platform/Intel/{WhitleyOpenBoardPkg =3D> MinPlatformPkg}/Include/Fd= f/CommonSpiFvHeaderInfo.fdf (88%) -- 2.27.0.windows.1