From nobody Mon Feb 9 12:29:09 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+85856+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+85856+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1642641278; cv=none; d=zohomail.com; s=zohoarc; b=b4n1v5w4WCN4Bj1WtXsDXaTfGOKGAysNBuO8b1m4tugo9lEy8WJb3/s5dxinkmgl5uveR0vlf6BOQZhBS1jqBwOzD1edi/hoH4ljguBse7yYfKiuqcTLTwxm3Sj5IA9V5IoLBFXkpfoOwaKCuId6pkLaktWHu9AHdsNX+0Xrxkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642641278; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=mUJr+BfbdJM1Em5vls+6RLHxcvpma1zGAOGNqct3s7U=; b=EBfAeNcs/Hf1ItPv6jxGG3iQyyNS/+GcjPgjt6VHlwPnsns30IpNqmYfq7RJUNBCHFZ1VnQcOfDVnfroNe9dXTf+UC3m50KeyIHqHvo4vM7Lvk449ZSHmvJXY8VLCXQZeO7/ODaAQWTgP7THGcJdPWuXGt8oX7mBJN719XRZ384= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+85856+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1642641278091535.7625355313893; Wed, 19 Jan 2022 17:14:38 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 5QwXYY1788612xmZQK9lXtIU; Wed, 19 Jan 2022 17:14:37 -0800 X-Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web09.5749.1642641269884118835 for ; Wed, 19 Jan 2022 17:14:30 -0800 X-IronPort-AV: E=McAfee;i="6200,9189,10231"; a="308578753" X-IronPort-AV: E=Sophos;i="5.88,300,1635231600"; d="scan'208";a="308578753" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 17:14:28 -0800 X-IronPort-AV: E=Sophos;i="5.88,301,1635231600"; d="scan'208";a="532559827" X-Received: from iworam-desk.amr.corp.intel.com ([10.7.150.79]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 17:14:27 -0800 From: "Oram, Isaac W" To: devel@edk2.groups.io Cc: Sai Chaganty , Liming Gao Subject: [edk2-devel][edk2-platforms][PATCH V2 12/14] AdvancedFeaturePkg: Add missing features Date: Wed, 19 Jan 2022 17:14:07 -0800 Message-Id: <221e162707c2d77b8d58f71f66ad68a1684db551.1642640106.git.isaac.w.oram@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,isaac.w.oram@intel.com X-Gm-Message-State: NxkHDfdA4tB0biTZrfhXNrGwx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1642641277; bh=HINEQymAGGCcP3Tal8FeMjxGhmMZh8aHfnBbtaI3ziM=; h=Cc:Date:From:Reply-To:Subject:To; b=Di13R5KgBmfhh5QLafWfTLigA/CrCdpQHfw/OjWeaMO+9DScuYd9aZGyt3i9d2KvWCn McBbqLqc27qTeNux7UaSMVfKSelojlYxnE8ANr42sysjInbAPuUSCGtPpxBuGtbpyO4Ln 0KyGt5Iw/Lh4AskUdcvz6gYn8a01sCcx0FA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1642641279303100053 Content-Type: text/plain; charset="utf-8" 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 + gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable= |TRUE + +# +# PCD that are required to be set by the build target should be configured= here for test purposes +# These settings are only for the purposes of buildings, boards should fol= low 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 +# +[LibraryClasses.Common] + PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatfor= mHookLibNull.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 TR= UE + !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc +!endif + +!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = =3D=3D 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 gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE + !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc +!endif + +!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab= le =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 + gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable= |FALSE + +# +# There seems to be some build parsing odd behavior that requires this 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 TR= UE + !include BeepDebugFeaturePkg/Include/PostMemory.fdf +!endif + +!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = =3D=3D 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 gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE + !include UserAuthFeaturePkg/Include/PostMemory.fdf +!endif + +!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab= le =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 TR= UE + !include BeepDebugFeaturePkg/Include/PreMemory.fdf +!endif + +!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = =3D=3D 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 gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = =3D=3D TRUE + !include UserAuthFeaturePkg/Include/PreMemory.fdf +!endif + +!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab= le =3D=3D TRUE + !include VirtualKeyboardFeaturePkg/Include/PreMemory.fdf +!endif diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md index 1a03a4c0d2..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 `XxxFeaturePkg/In= clude/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\Intel + * 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; + %WORKSPACE%\edk2-platforms\Features\Intel\Use= rInterface * 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 FeatureDomainDirectory/XxxFeaturePkg/X=
xxFeaturePkg.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 FALSE + 5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to 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 AdvancedFeaturePkg/AdvancedFeaturePkg.ds=
c
=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. --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85856): https://edk2.groups.io/g/devel/message/85856 Mute This Topic: https://groups.io/mt/88549778/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-