From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web12.3660.1642138577352122277 for ; Thu, 13 Jan 2022 21:36:17 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HK1nogI0; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: rangasai.v.chaganty@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642138577; x=1673674577; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=oEWdM91xR2rXfu3Z/I4Ars4HhzT55tQAZMmZyed7vnA=; b=HK1nogI0lsiGr51/HyxgaNIFvNskGhL5MjIGKAuAiR/l+5+C3HjohwL2 h7zUNp0gPge7iqTbobpPRgP0EBzTKKHeSXVg+zVxuLQ3i/c49yaxrwC3J mxFGcdi5LkONdeEImEP5HKR8TeOpQCxCIks5c27LaB5lkLfo8czDjy9eN OpnfXmljYAu83CWo8THKBiNa+1PdWYs8FCUEWcDYC7ZGItaFbvTd3MOyS 9W+e/Q+e845hqUEU5DdjJaEXU0mO6TR4d9dtS1H3/6qBiKPuGYoWf/zRb dp2a/MaikXoug8JQU1ejAq5cWmyySLlcZIt4ca6AVqMlWWb70AWVZ5AFE Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10226"; a="307530453" X-IronPort-AV: E=Sophos;i="5.88,287,1635231600"; d="scan'208";a="307530453" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2022 21:36:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,287,1635231600"; d="scan'208";a="473515145" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga003.jf.intel.com with ESMTP; 13 Jan 2022 21:36:16 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) 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 21:36:16 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) 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 21:36:16 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (134.134.137.100) 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 21:36:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H3eOY7l3e2NcJbalb2+ZRQYNG7Fksha0dG1nIWinbbnSh5yPWfbX6mSGx9b6ez40VEsbbbLnWJ/8PCVE0jG7TEfZoSePd1BZSdq09kK2zyNLZ0iXNky8T0ndhtOhMA/aP8uWhXsCcT52FLXFLuk5yXP+tEdcLg/JsDywICbmVmhedwLsyvvY8EF1ukDqkZrtxrGmgIObS/tt/7N+gKShU+4+tnU9vivsyDsGl6bNGNpg4eoGnqh/r33AN6WZtmbzG478Mgp3JoP2+AtuftnMkkQS78x+6Vjh2C70+JxPTqYxfFi5Q802SXkCf5ra6GVSVkM6GN3sJvlglQAYn8G3sg== 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=qc7eQW8EyaJsebxpOv71KymcSxmLFUZkSCwr5FCP/Zc=; b=djOaV19Ppry7rsbyzSoig+FikP0zx6nunbprlD54h5MvGNEsWAmnz2D9zCU5mzxsiBRYm2XRM9Boqt44U1Qa45qB5mkJlQTpGp3M59Mfa1YlRkjSFdUgKQ3yLMrtfcUYNjapFPH8yrPWEZwiQ2bybwfPOulKjuj/+iSdlE713JLi/2THjErD18vNvDL3qCrFTJKzT2DXuudlduxNcuq/LkXI+qoyCo86Q+Yk465a8i6MysWFrCMypi4fwsNpCkNnPYx2fsJ50tu4lMwo9UBg4SM9ThHm5lZMoVgvHr0MRvVRKhuDDFcFIxC0sDokhK43wbGftQLdnLzDq99sDUntOg== 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 MW3PR11MB4602.namprd11.prod.outlook.com (2603:10b6:303:52::19) by DM5PR1101MB2188.namprd11.prod.outlook.com (2603:10b6:4:53::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Fri, 14 Jan 2022 05:36:13 +0000 Received: from MW3PR11MB4602.namprd11.prod.outlook.com ([fe80::ec00:565c:a1db:998b]) by MW3PR11MB4602.namprd11.prod.outlook.com ([fe80::ec00:565c:a1db:998b%5]) with mapi id 15.20.4888.012; Fri, 14 Jan 2022 05:36:13 +0000 From: "Chaganty, Rangasai V" To: "Oram, Isaac W" , "devel@edk2.groups.io" CC: "Gao, Liming" Subject: Re: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Thread-Topic: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Thread-Index: AQHYB1sKc5RR/TgrDES7C+qmC4sFKaxiAoxQ Date: Fri, 14 Jan 2022 05:36:13 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.200.16 dlp-product: dlpe-windows 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: 0e4d95de-60ed-498e-b791-08d9d71fc742 x-ms-traffictypediagnostic: DM5PR1101MB2188:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KjmaOgDEI/heoaX+bTZvOoJWKNYn9jdP6O0N8w1DX57DWgKLuzClfkv37ZLZQYkg5BrmcRGIBI6i6Sr20zeZIj4CLabJaf8znXj02+ZdpN0darZspElq3yn/SdPM8ybZxgznRw+rZEfM18rptCI5Yjc1RRFUm3xa7e535qP5EX4XstqLTi2GLnR0fH1t2Gs6nf54D5JO6ubh6IpKrjHIqmSlx3MF/kJJzwkT/9JwZTgTC12lSZ29g1zO13eIuvANEsG1VLm3tJ3qjz9ysZ9lncjj4vmkVKjD69fuJk6GEkTkKtGp4IbBNqKx/1SD4T5H+O4RgR9yYUMHviu6yzct1yx//ltz1c0TkZ2j7ZfSWeH8Glxwmm+/kZKQkNwCXRbpMUO3sEozU7tV80qSt2cVMQPbIkHTFRamMj2XdhRxmdLq/lwbphlTny11zBIlZLj41gkX60XJAjb80eJDT2/z0a1Pd7slA5wnaeh6WfdITtb+448mGoNw+7n0ZNckwhKVYhVl1rgRyaMRXzIcRa5fDDcSjFhbIqW+xCuWxkFxV062ODNti+IBqa6EqN2K7Q15hi0oqLCRv6Xdm1UK7v6PmOSvCZcul1LWRIMYiF9Wxp855ME7fACuU//LSjgbtYF4GaB/S9e9D3b7doVOPrOeWT0agtTG83tXOE5wZFMrlS31f1/CqbeYp4p1dfhwoIiOunSIJwZB5hiY0HAHlayp3zW4Buk01EGYMiowIr5j8Q0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR11MB4602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66946007)(76116006)(55016003)(66446008)(8936002)(4326008)(66556008)(82960400001)(64756008)(66476007)(71200400001)(8676002)(33656002)(316002)(5660300002)(19627235002)(30864003)(508600001)(186003)(86362001)(6506007)(9686003)(53546011)(26005)(110136005)(38100700002)(2906002)(83380400001)(38070700005)(52536014)(122000001)(7696005)(579004)(134885004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?rwEsNijMH4Pc5iI9e0JXnNpk/Ybldtclxr1OcZk6cSQfzPY5tVxBnARODV6m?= =?us-ascii?Q?LvgViA/K+Khd83qSW7RqVdRskyIV0rftOdD7pvdQ01noGwpwjHYJlx3O/Tb6?= =?us-ascii?Q?6FPfoPcvvzQjhEf0IKlRS5YhteZOj3o6bQyARxQn5nVdiY57WDl4LgfjobXU?= =?us-ascii?Q?CQXJzOgecLkt58opp7kSvktEMPEDAhX072hCfD667IVWEIv5hVMEru3Wci8z?= =?us-ascii?Q?tibS/078sDW2noFfKmkgvgYx9BY6cHht0fi237PsdpKM8Ug2xmTPNVv2m2Nr?= =?us-ascii?Q?yn/PKqiMjdMK21Eh6EdeaJ5ym+expZ3OSEgJRXdT7FLg22HkdpH/lSqs03m9?= =?us-ascii?Q?7qpj88E4GqUj0Ta5TPv5y4jzWwR6mkN5HQxdxS3f+UunVo/TmaUtNPb/MPeh?= =?us-ascii?Q?er78JEN+fc0xf4qkGhFpq21Iiprz2KHu1rlyrUx2VE6/7qnqt+1y2bbsTPqm?= =?us-ascii?Q?LZ2+bYGe6b0FpmFHbzTdj3InwWoXQugR/Ofy46RTM8uUi8zATS2tFo2Xg+Te?= =?us-ascii?Q?MmiNvT6EepQvV3+9MdD6yoYWgsjSGGvty4/15VLHTt1KvBlUP4jW2pD9O2RD?= =?us-ascii?Q?qiTVx52nOKvSGLvLXvVBpPIGTDo0xyrMDvilXrF3H0ipaohHSEH8orjrDdWs?= =?us-ascii?Q?dSigmO8Uvy6ZdjRA1niMyanokue9d8GUXcwXFgCe3nr0oojdu9/I5SRZHcX5?= =?us-ascii?Q?IRt9CWAfM3rGMisZ2Md49WZy9ZwTZ7M7iU4leeVzA4kVFPxrqoOUXmQEyJWw?= =?us-ascii?Q?NSMruFnkPOb4BAHSXEVuOXB0YGL496YEKT71grvLX7teBefXfIO2Y3xApt+B?= =?us-ascii?Q?ddfDc0tap4Pg8N5tij8J4XzYtr7g63vbRkoDbxySzWFtOL3JC9QQTiKX7bPr?= =?us-ascii?Q?TeG5y50NTLnA4EEXTQKJdjPiqDhSSFh5TVyR1N4NUqVw6CrcmeTirMkKg89n?= =?us-ascii?Q?5CyxpSKj/Mos9AwcUCjKIe74+BeBJlFgiVWh8cIf+jtBRnRtrU6WGeFwvfV+?= =?us-ascii?Q?mJxESIejump9ynR5lDxRQhSmWE+VLqNgKB8TN+g+ikfvHKaTBkklGPADwIAE?= =?us-ascii?Q?VHKV21HYAiRAQLXAGPXrUputBTtQVN1m+ANUQXneB316lqgbgwoUGHIkgR0P?= =?us-ascii?Q?oR9oxPLVZIu6JN4b5VPfZPhrNboe/S87MWBVqvKiq3WxTbA75SpbCwXz1Nx+?= =?us-ascii?Q?Y3p4O+3o0KjmVA1q6CJznXEvKirlRfXZ6A+HLqEAspCQd9A8sQdOUacyRIKV?= =?us-ascii?Q?yucwy7lKZCvbfSUCocN29NKyQZ9dctowSeqXQkQc6G6T0QRlcvbq2YmRE/rl?= =?us-ascii?Q?ii5eKwtfeuhp/N6VKN+3tShCMAzc3HTBoS+suwNO7X029FInHskvNQ8/giYT?= =?us-ascii?Q?dBkkF6+FeG+lAH30DpkM3+6+E8ozXwm5Sn2aeZmRS+1uyzEoLPLfnIFpDDLv?= =?us-ascii?Q?wPGUKnRFi0psyFBFYY5X6GPcUJwdXk8Wy7Qty7yJhWX9ILRdk0yB2OjM8goL?= =?us-ascii?Q?hfOp9Go/VLBev57/7XXBtUnqxsX39Kq82GeAQoxxXK1Hobwe3oi8u60iLRsF?= =?us-ascii?Q?3raFJX2oqWA6a/qvyNhSFnv1/rLcUC0npR2JfWd9lWQIpdy8IVPZthyHT8u8?= =?us-ascii?Q?VgGBF3fnkLpUtZY2W3OBIuNnV5GVoDPSFhWsEtoAKY6OdSkgUG8C9/CBJ04G?= =?us-ascii?Q?JgpBwg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW3PR11MB4602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e4d95de-60ed-498e-b791-08d9d71fc742 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2022 05:36:13.5538 (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: zS8kvW2pDiFQCx4to5T+kvoNCgflLIZiM3dZn9k6SOnLLgOGlwckj3nb/bJIcws6fw1zFQZuayYVXQDUo+whmdVCG0GsO8s+u93qWLoLuN8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2188 Return-Path: rangasai.v.chaganty@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Sai Chaganty -----Original Message----- From: Oram, Isaac W =20 Sent: Tuesday, January 11, 2022 6:20 PM To: devel@edk2.groups.io Cc: Oram, Isaac W ; Chaganty, Rangasai V ; Gao, Liming Subject: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: A= dd missing features The AdvancedFeaturePkg is supposed to include all features. Add Beep Debug feature to include DSC and FDF. Order features based on their domains. Cc: Sai Chaganty Cc: Liming Gao Signed-off-by: Isaac Oram --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 66 +++= +++++++++++++---- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 36 +++= +++++--- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 64 +++= ++++++++++++---- Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf | 36 +++= +++++--- Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf | 36 +++= +++++--- Features/Intel/Readme.md | 49 +++= +++++++----- 6 files changed, 219 insertions(+), 68 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Fea= tures/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 0c7a29cc75..02636da916 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -36,7 +36,6 @@ =20 !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc =20 - ##########################################################################= ###### # # Advanced Feature Enable section - all advanced features are enabling for= the @@ -44,26 +43,71 @@ # ##############################################= ################################## [PcdsFeatureFlag] - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |TRUE - gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |TRUE - gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |TRUE - gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |TRUE - gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable = |TRUE - gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |TRUE - gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = |TRUE - gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable = |TRUE - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable = |FALSE + # + # Debugging features + # + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |TRUE + gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable = |TRUE + gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = |TRUE + gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |TRUE + + # + # Network features + # + gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |TRUE + + # + # OutOfBandManagement features + # + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |TRUE + gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable = |TRUE + + # + # PowerManagement features + # + gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |TRUE + + # + # SystemInformation features + # + gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable = |TRUE + + # + # UserInterface features + # + gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable = |TRUE + gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = |TRUE + =20 + gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab + le |TRUE + +# +# PCD that are required to be set by the build target should be=20 +configured here for test purposes # These settings are only for the purpos= es of buildings, boards should follow instructions in Readme files. +# + +[PcdsFixedAtBuild] + gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1 + +[PcdsFeatureFlag] + # + # MinPlatform common include currently required PCD + # gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable = |FALSE gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable = |FALSE gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable = |FALSE =20 # -# Include common library +# Include common libraries # !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc =20 +# +# Libraries required to be specified by the build target #=20 +[LibraryClasses.Common] + =20 +PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatfo +rmHookLibNull.inf # Required by BeepDebugFeature + # # This package builds all advanced features. # diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc= b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc index 874b8ce7db..2b36938df6 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc @@ -11,51 +11,67 @@ ## =20 # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable =3D=3D TR= UE !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc !endif =20 +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable =3D=3D=20 +TRUE + !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc +!endif + +!if=20 +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable =3D= =3D=20 +TRUE + !include PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable =3D=3D TR= UE !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc !endif =20 # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable =3D=3D TRUE !include NetworkFeaturePkg/Include/NetworkFeature.dsc !endif =20 # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable =3D=3D TRUE !include IpmiFeaturePkg/Include/IpmiFeature.dsc !endif =20 +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable =3D=3D TRUE + !include SpcrFeaturePkg/Include/SpcrFeature.dsc +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable =3D=3D TRUE !include S3FeaturePkg/Include/S3Feature.dsc !endif =20 # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable =3D=3D TRUE !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc !endif =20 # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE - !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable =3D=3D TRUE !include LogoFeaturePkg/Include/LogoFeature.dsc !endif + +!if=20 +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable =3D= =3D=20 +TRUE + !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc +!endif + +!if=20 +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e =3D=3D TRUE + !include VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc +!endif diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.= dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index ad248de800..e214175eda 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -16,28 +16,70 @@ # [Packages] MdePkg/MdePkg.dec + + # + # Debugging features + # AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec + BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec + PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec + + # + # Networking features + # NetworkFeaturePkg/NetworkFeaturePkg.dec + + # + # OutOfBandManagement features + # IpmiFeaturePkg/IpmiFeaturePkg.dec + SpcrFeaturePkg/SpcrFeaturePkg.dec + + # + # PowerManagement features + # S3FeaturePkg/S3FeaturePkg.dec + + # + # SystemInformation features + # SmbiosFeaturePkg/SmbiosFeaturePkg.dec - UserAuthFeaturePkg/UserAuthFeaturePkg.dec + + # + # UserInterface features + # LogoFeaturePkg/LogoFeaturePkg.dec - BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec - PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec + UserAuthFeaturePkg/UserAuthFeaturePkg.dec + VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec =20 # # The section below sets all PCDs to FALSE in this DSC file so the feature= is not enabled by default. # Board can set PCDs to TRUE in its DSC file to enable a subset of advance= d features # [PcdsFeatureFlag] - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |FALSE - gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |FALSE - gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |FALSE - gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |FALSE - gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable = |FALSE - gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |FALSE - gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = |FALSE - gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable = |FALSE + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |FALSE + gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable = |FALSE + gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = |FALSE + gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |FALSE + + gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |FALSE + + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |FALSE + gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable = |FALSE + + gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |FALSE + + gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable = |FALSE + + gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable = |FALSE + gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = |FALSE + =20 + gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab + le |FALSE + +# +# There seems to be some build parsing odd behavior that requires this=20 +PCD to be specified even though # the *.fdf that consumes it is dependent = on the feature flag. +# This section is to ensure that boards have these PCD instantiated. +# +[PcdsFeatureFlag] gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable = |FALSE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Fea= tures/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf index e710fe7f01..99089f9a7b 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf @@ -12,51 +12,67 @@ ## =20 # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable =3D=3D TR= UE !include AcpiDebugFeaturePkg/Include/PostMemory.fdf !endif =20 +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable =3D=3D=20 +TRUE + !include BeepDebugFeaturePkg/Include/PostMemory.fdf +!endif + +!if=20 +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable =3D= =3D=20 +TRUE + !include PostCodeDebugFeaturePkg/Include/PostMemory.fdf +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable =3D=3D TR= UE !include Usb3DebugFeaturePkg/Include/PostMemory.fdf !endif =20 # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable =3D=3D TRUE !include NetworkFeaturePkg/Include/PostMemory.fdf !endif =20 # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable =3D=3D TRUE !include IpmiFeaturePkg/Include/PostMemory.fdf !endif =20 +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable =3D=3D TRUE + !include SpcrFeaturePkg/Include/PostMemory.fdf +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable =3D=3D TRUE !include S3FeaturePkg/Include/PostMemory.fdf !endif =20 # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable =3D=3D TRUE !include SmbiosFeaturePkg/Include/PostMemory.fdf !endif =20 # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE - !include UserAuthFeaturePkg/Include/PostMemory.fdf -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable =3D=3D TRUE !include LogoFeaturePkg/Include/PostMemory.fdf !endif + +!if=20 +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable =3D= =3D=20 +TRUE + !include UserAuthFeaturePkg/Include/PostMemory.fdf +!endif + +!if=20 +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e =3D=3D TRUE + !include VirtualKeyboardFeaturePkg/Include/PostMemory.fdf +!endif diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Feat= ures/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf index 177aafc1ec..1db258446a 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf +++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf @@ -12,51 +12,67 @@ ## =20 # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable =3D=3D TR= UE !include AcpiDebugFeaturePkg/Include/PreMemory.fdf !endif =20 +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable =3D=3D=20 +TRUE + !include BeepDebugFeaturePkg/Include/PreMemory.fdf +!endif + +!if=20 +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable =3D= =3D=20 +TRUE + !include PostCodeDebugFeaturePkg/Include/PreMemory.fdf +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable =3D=3D TR= UE !include Usb3DebugFeaturePkg/Include/PreMemory.fdf !endif =20 # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable =3D=3D TRUE !include NetworkFeaturePkg/Include/PreMemory.fdf !endif =20 # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable =3D=3D TRUE !include IpmiFeaturePkg/Include/PreMemory.fdf !endif =20 +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable =3D=3D TRUE + !include SpcrFeaturePkg/Include/PreMemory.fdf +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable =3D=3D TRUE !include S3FeaturePkg/Include/PreMemory.fdf !endif =20 # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable =3D=3D TRUE !include SmbiosFeaturePkg/Include/PreMemory.fdf !endif =20 # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE - !include UserAuthFeaturePkg/Include/PreMemory.fdf -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable =3D=3D TRUE !include LogoFeaturePkg/Include/PreMemory.fdf !endif + +!if=20 +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable =3D= =3D=20 +TRUE + !include UserAuthFeaturePkg/Include/PreMemory.fdf +!endif + +!if=20 +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e =3D=3D TRUE + !include VirtualKeyboardFeaturePkg/Include/PreMemory.fdf +!endif diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md index 1a03= a4c0d2..cf5ef7b260 100644 --- a/Features/Intel/Readme.md +++ b/Features/Intel/Readme.md @@ -195,32 +195,47 @@ At a minimum, an advanced feature must consist of the= following elements: 6. Add the source code for the advanced feature. * If the feature is large it is recommended to add libraries in one pa= tch and then modules in a following patch. =20 -7. Update the feature DSC file. This file is in `XxxFeaturePkg/Include/Xxx= Feature.dsc`. +7. Update the feature DSC include file. This file is in `XxxFeaturePkg/Inc= lude/XxxFeature.dsc`. * In most cases, `XxxFeaturePkg/XxxFeaturePkg.dsc` should just `!inclu= de XxxFeaturePkg/Include/XxxFeature.dsc`. + * This file should not duplicate core content from `MinPlatformPkg/Inc= lude/Dsc` except where a change is required by + the feature. =20 -8. Update the feature FDF files. These files are `XxxFeaturePkg/Include/Pr= eMemory.fdf` and +8. Update the feature FDF include files. These files are=20 +`XxxFeaturePkg/Include/PreMemory.fdf` and `XxxFeaturePkg/Include/PostMemory.fdf`. * Each file should contain the feature pre-memory modules and post-mem= ory modules respectively. =20 9. Build the advanced feature package to ensure the build is successful: - From the workspace root: - 1. cd edk2-platforms/edk2 - 2. Execute edksetup.bat (Windows) or edksetup.sh (Linux). - 3. Verify the "WORKSPACE" environment variable is set to the edk2 dire= ctory in your workspace. - 4. Set the "PACKAGES_PATH" environment variable to include the edk2-pl= atforms/Platform/Intel, edk2-platforms/Silicon/Intel, - and edk2-platforms/Features/Intel directories. + 1. Verify the "WORKSPACE" environment variable is set to the parent of= edk2 and edk2-platforms directory in your + workspace. + 2. Set the "PACKAGES_PATH" environment variable to include the edk2, e= dk2-platforms/Platform/Intel, + edk2-platforms/Silicon/Intel, and edk2-platforms/Features/Intel dir= ectories. * Windows example: - * set PACKAGES_PATH=3Dc:\Edk2Workspace\edk2-platforms\Platform\In= tel; - c:\Edk2Workspace\edk2-platforms\Silicon\Intel= ; - c:\Edk2Workspace\edk2-platforms\Features\Inte= l + * set PACKAGES_PATH=3D%WORKSPACE%\edk2; + %WORKSPACE%\edk2-platforms\Platform\Intel; + %WORKSPACE%\edk2-platforms\Silicon\Intel; + %WORKSPACE%\edk2-platforms\Features\Intel; + %WORKSPACE%\edk2-platforms\Features\Intel\Deb= ugging; + %WORKSPACE%\edk2-platforms\Features\Intel\Net= work; + %WORKSPACE%\edk2-platforms\Features\Intel\Out= OfBandManagement; + %WORKSPACE%\edk2-platforms\Features\Intel\Pow= erManagement; + %WORKSPACE%\edk2-platforms\Features\Intel\Sys= temInformation; + =20 + %WORKSPACE%\edk2-platforms\Features\Intel\UserInterface * Linux example: - * export PACKAGES_PATH=3D~/Edk2Workspace/edk2-platforms/Platform/= Intel: + * export PACKAGES_PATH=3D~Edk2Workspace/edk2: + ~/Edk2Workspace/edk2-platforms/Platform/In= tel: ~/Edk2Workspace/edk2-platforms/Silicon/Int= el: - ~/Edk2Workspace/edk2-platforms/Features/In= tel + ~/Edk2Workspace/edk2-platforms/Features/In= tel: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/Debugging: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/Network: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/OutOfBandManagement: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/PowerManagement: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/SystemInformation: + ~/Edk2Workspace/edk2-platforms/Features/In= tel/UserInterface + 3. cd edk2 + 4. Execute edksetup.bat (Windows) or edksetup.sh (Linux). 5. cd edk2-platforms/Features/Intel - 6.
build -p FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.ds=
c -a IA32 -a X64
- + 6.
build -a IA32 -a X64 -p=20
+ FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc
*Note:* -a specifies the architecture. Typically IA32 and X64 modul= es are built for 32-bit PEI and 64-bit DXE though build for your specific requirements. =20 @@ -228,11 +243,13 @@ At a minimum, an advanced feature must consist of the= following elements: 1. Add `XxxFeaturePkg/Include/XxxFeature.dsc` to `AdvancedFeatures.dsc= ` 2. Add `XxxFeaturePkg/Include/PreMemory.fdf` to `AdvancedFeaturePkg/In= clude/PreMemory.fdf` 3. Add `XxxFeaturePkg/Include/PostMemory.fdf` to `AdvancedFeaturePkg/I= nclude/PostMemory.fdf` + 4. Add the `PcdFeatureEnable` to `AdvancedFeaturesPcd.dsc` set to FALS= E + 5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to=20 + TRUE =20 11. Build `AdvancedFeaturePkg` to ensure the build is successful. 1. Follow the steps in step #9 but change the build command to: =20 -
build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64=
+
build  -a IA32 -a X64 -p=20
+ AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
=20 12. Before sending your patch series, ensure the `Readme.md` file in `XxxF= eaturePkg` is completed so others can use it during the feature review. -- 2.27.0.windows.1