Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, > Isaac W > 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.PcdUserAuthenticationFeatureEnabl > e |TRUE > - gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |TRUE > - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable > |FALSE > + # > + # Debugging features > + # > + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable > |TRUE > + gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable > |TRUE > + > gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn > able |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.PcdUserAuthenticationFeatureEnabl > e |TRUE > + > + > gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn > ab > + 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/BasePl > atfo > +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.PcdPostCodeDebugFeatureE > nable == > +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.PcdUserAuthenticationFeatureEnabl > e == TRUE > - !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc > -!endif > - > !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE > !include LogoFeaturePkg/Include/LogoFeature.dsc > !endif > + > +!if > +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna > ble == > +TRUE > + !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc > +!endif > + > +!if > +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE > nabl > +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.PcdUserAuthenticationFeatureEnabl > e |FALSE > - gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |FALSE > + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable > |FALSE > + gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable > |FALSE > + > gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn > able |FALSE > + gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable > |FALSE > + > + gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable > |FALSE > + > + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable > |FALSE > + gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable > |FALSE > + > + gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable > |FALSE > + > + gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable > |FALSE > + > + gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |FALSE > + > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl > e |FALSE > + > + > gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn > ab > + 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.PcdPostCodeDebugFeatureE > nable == > +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.PcdUserAuthenticationFeatureEnabl > e == TRUE > - !include UserAuthFeaturePkg/Include/PostMemory.fdf > -!endif > - > !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE > !include LogoFeaturePkg/Include/PostMemory.fdf > !endif > + > +!if > +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna > ble == > +TRUE > + !include UserAuthFeaturePkg/Include/PostMemory.fdf > +!endif > + > +!if > +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE > nabl > +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.PcdPostCodeDebugFeatureE > nable == > +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.PcdUserAuthenticationFeatureEnabl > e == TRUE > - !include UserAuthFeaturePkg/Include/PreMemory.fdf > -!endif > - > !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE > !include LogoFeaturePkg/Include/PreMemory.fdf > !endif > + > +!if > +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna > ble == > +TRUE > + !include UserAuthFeaturePkg/Include/PreMemory.fdf > +!endif > + > +!if > +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE > nabl > +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 (#85646): https://edk2.groups.io/g/devel/message/85646 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] -=-=-=-=-=-=-=-=-=-=-=-