Reviewed-by: Sai Chaganty <rangasai.v.chaga...@intel.com> -----Original Message----- From: Oram, Isaac W <isaac.w.o...@intel.com> Sent: Tuesday, January 11, 2022 6:20 PM To: devel@edk2.groups.io Cc: Oram, Isaac W <isaac.w.o...@intel.com>; Chaganty, Rangasai V <rangasai.v.chaga...@intel.com>; Gao, Liming <gaolim...@byosoft.com.cn> Subject: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add 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 <rangasai.v.chaga...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Signed-off-by: Isaac Oram <isaac.w.o...@intel.com> --- 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/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 0c7a29cc75..02636da916 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -36,7 +36,6 @@ !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc - ################################################################################ # # 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.PcdVirtualKeyboardFeatureEnab + le |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 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 # -# Include common library +# Include common libraries # !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc +# +# Libraries required to be specified by the build target # +[LibraryClasses.Common] + +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 @@ ## # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc !endif +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == +TRUE + !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc +!endif + +!if +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == +TRUE + !include PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc !endif # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE !include NetworkFeaturePkg/Include/NetworkFeature.dsc !endif # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE !include IpmiFeaturePkg/Include/IpmiFeature.dsc !endif +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE + !include SpcrFeaturePkg/Include/SpcrFeature.dsc +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE !include S3FeaturePkg/Include/S3Feature.dsc !endif # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc !endif # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE - !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE !include LogoFeaturePkg/Include/LogoFeature.dsc !endif + +!if +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == +TRUE + !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc +!endif + +!if +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e == 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 # # 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 advanced 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.PcdVirtualKeyboardFeatureEnab + le |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/Features/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 @@ ## # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE !include AcpiDebugFeaturePkg/Include/PostMemory.fdf !endif +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == +TRUE + !include BeepDebugFeaturePkg/Include/PostMemory.fdf +!endif + +!if +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == +TRUE + !include PostCodeDebugFeaturePkg/Include/PostMemory.fdf +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE !include Usb3DebugFeaturePkg/Include/PostMemory.fdf !endif # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE !include NetworkFeaturePkg/Include/PostMemory.fdf !endif # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE !include IpmiFeaturePkg/Include/PostMemory.fdf !endif +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE + !include SpcrFeaturePkg/Include/PostMemory.fdf +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE !include S3FeaturePkg/Include/PostMemory.fdf !endif # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE !include SmbiosFeaturePkg/Include/PostMemory.fdf !endif # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE - !include UserAuthFeaturePkg/Include/PostMemory.fdf -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE !include LogoFeaturePkg/Include/PostMemory.fdf !endif + +!if +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == +TRUE + !include UserAuthFeaturePkg/Include/PostMemory.fdf +!endif + +!if +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e == TRUE + !include VirtualKeyboardFeaturePkg/Include/PostMemory.fdf +!endif diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/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 @@ ## # -# Debug Advanced Features +# Debugging features # !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE !include AcpiDebugFeaturePkg/Include/PreMemory.fdf !endif +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == +TRUE + !include BeepDebugFeaturePkg/Include/PreMemory.fdf +!endif + +!if +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == +TRUE + !include PostCodeDebugFeaturePkg/Include/PreMemory.fdf +!endif + !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE !include Usb3DebugFeaturePkg/Include/PreMemory.fdf !endif # -# Network Advanced Features +# Network features # !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE !include NetworkFeaturePkg/Include/PreMemory.fdf !endif # -# Out-of-Band Management Advanced Features +# OutOfBandManagement features # !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE !include IpmiFeaturePkg/Include/PreMemory.fdf !endif +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE + !include SpcrFeaturePkg/Include/PreMemory.fdf +!endif + # -# Power Management Advanced Features +# PowerManagement features # !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE !include S3FeaturePkg/Include/PreMemory.fdf !endif # -# System Information Advanced Features +# SystemInformation features # !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE !include SmbiosFeaturePkg/Include/PreMemory.fdf !endif # -# User Interface Advanced Features +# UserInterface features # -!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE - !include UserAuthFeaturePkg/Include/PreMemory.fdf -!endif - !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE !include LogoFeaturePkg/Include/PreMemory.fdf !endif + +!if +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == +TRUE + !include UserAuthFeaturePkg/Include/PreMemory.fdf +!endif + +!if +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl +e == 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 patch and then modules in a following patch. -7. Update the feature DSC file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`. +7. Update the feature DSC include file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`. * In most cases, `XxxFeaturePkg/XxxFeaturePkg.dsc` should just `!include XxxFeaturePkg/Include/XxxFeature.dsc`. + * This file should not duplicate core content from `MinPlatformPkg/Include/Dsc` except where a change is required by + the feature. -8. Update the feature FDF files. These files are `XxxFeaturePkg/Include/PreMemory.fdf` and +8. Update the feature FDF include files. These files are +`XxxFeaturePkg/Include/PreMemory.fdf` and `XxxFeaturePkg/Include/PostMemory.fdf`. * Each file should contain the feature pre-memory modules and post-memory modules respectively. 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 directory in your workspace. - 4. Set the "PACKAGES_PATH" environment variable to include the edk2-platforms/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, edk2-platforms/Platform/Intel, + edk2-platforms/Silicon/Intel, and edk2-platforms/Features/Intel directories. * Windows example: - * set PACKAGES_PATH=c:\Edk2Workspace\edk2-platforms\Platform\Intel; - c:\Edk2Workspace\edk2-platforms\Silicon\Intel; - c:\Edk2Workspace\edk2-platforms\Features\Intel + * set PACKAGES_PATH=%WORKSPACE%\edk2; + %WORKSPACE%\edk2-platforms\Platform\Intel; + %WORKSPACE%\edk2-platforms\Silicon\Intel; + %WORKSPACE%\edk2-platforms\Features\Intel; + %WORKSPACE%\edk2-platforms\Features\Intel\Debugging; + %WORKSPACE%\edk2-platforms\Features\Intel\Network; + %WORKSPACE%\edk2-platforms\Features\Intel\OutOfBandManagement; + %WORKSPACE%\edk2-platforms\Features\Intel\PowerManagement; + %WORKSPACE%\edk2-platforms\Features\Intel\SystemInformation; + + %WORKSPACE%\edk2-platforms\Features\Intel\UserInterface * Linux example: - * export PACKAGES_PATH=~/Edk2Workspace/edk2-platforms/Platform/Intel: + * export PACKAGES_PATH=~Edk2Workspace/edk2: + ~/Edk2Workspace/edk2-platforms/Platform/Intel: ~/Edk2Workspace/edk2-platforms/Silicon/Intel: - ~/Edk2Workspace/edk2-platforms/Features/Intel + ~/Edk2Workspace/edk2-platforms/Features/Intel: + ~/Edk2Workspace/edk2-platforms/Features/Intel/Debugging: + ~/Edk2Workspace/edk2-platforms/Features/Intel/Network: + ~/Edk2Workspace/edk2-platforms/Features/Intel/OutOfBandManagement: + ~/Edk2Workspace/edk2-platforms/Features/Intel/PowerManagement: + ~/Edk2Workspace/edk2-platforms/Features/Intel/SystemInformation: + ~/Edk2Workspace/edk2-platforms/Features/Intel/UserInterface + 3. cd edk2 + 4. Execute edksetup.bat (Windows) or edksetup.sh (Linux). 5. cd edk2-platforms/Features/Intel - 6. <pre>build -p FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc -a IA32 -a X64</pre> - + 6. <pre>build -a IA32 -a X64 -p + FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc</pre> *Note:* -a specifies the architecture. Typically IA32 and X64 modules are built for 32-bit PEI and 64-bit DXE though build for your specific requirements. @@ -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/Include/PreMemory.fdf` 3. Add `XxxFeaturePkg/Include/PostMemory.fdf` to `AdvancedFeaturePkg/Include/PostMemory.fdf` + 4. Add the `PcdFeatureEnable` to `AdvancedFeaturesPcd.dsc` set to FALSE + 5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to + TRUE 11. Build `AdvancedFeaturePkg` to ensure the build is successful. 1. Follow the steps in step #9 but change the build command to: - <pre>build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64</pre> + <pre>build -a IA32 -a X64 -p + AdvancedFeaturePkg/AdvancedFeaturePkg.dsc</pre> 12. Before sending your patch series, ensure the `Readme.md` file in `XxxFeaturePkg` is completed so others can use it during the feature review. -- 2.27.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85702): https://edk2.groups.io/g/devel/message/85702 Mute This Topic: https://groups.io/mt/88365344/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-