Browse Source

Features/Intel: Prepare for edk2-platforms CI

Fix some build issues with GCC5 targets
Add a Readme.md for AdvancedFeaturePkg
Add VS2019, CLANGPDB, and GCC5 build targets to Readme.md
for each feature

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>
Isaac Oram 1 year ago
parent
commit
c227f900f5
23 changed files with 119 additions and 46 deletions
  1. 5 1
      Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
  2. 38 0
      Features/Intel/AdvancedFeaturePkg/Readme.md
  3. 3 0
      Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
  4. 4 5
      Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
  5. 6 0
      Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
  6. 4 1
      Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
  7. 4 5
      Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
  8. 4 5
      Features/Intel/Network/NetworkFeaturePkg/Readme.md
  9. 4 1
      Features/Intel/OutOfBandManagement/AsfFeaturePkg/Readme.md
  10. 2 0
      Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.c
  11. 2 0
      Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.h
  12. 1 1
      Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.c
  13. 1 1
      Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.c
  14. 4 5
      Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
  15. 4 1
      Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
  16. 1 1
      Features/Intel/PlatformPayloadFeaturePkg/Library/PcdInitLib/PcdInitLib.c
  17. 4 5
      Features/Intel/PowerManagement/S3FeaturePkg/Readme.md
  18. 4 5
      Features/Intel/SystemInformation/SmbiosFeaturePkg/Readme.md
  19. 8 1
      Features/Intel/TemplateFeaturePkg/Readme.md
  20. 4 2
      Features/Intel/UserInterface/LogoFeaturePkg/Readme.md
  21. 4 5
      Features/Intel/UserInterface/UserAuthFeaturePkg/Readme.md
  22. 4 1
      Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Readme.md
  23. 4 0
      Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc

+ 5 - 1
Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc

@@ -25,7 +25,7 @@
   DSC_SPECIFICATION                   = 0x00010005
   DSC_SPECIFICATION                   = 0x00010005
   OUTPUT_DIRECTORY                    = Build/AdvancedFeaturePkg
   OUTPUT_DIRECTORY                    = Build/AdvancedFeaturePkg
   SUPPORTED_ARCHITECTURES             = IA32|X64
   SUPPORTED_ARCHITECTURES             = IA32|X64
-  BUILD_TARGETS                       = DEBUG|RELEASE
+  BUILD_TARGETS                       = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER                    = DEFAULT
   SKUID_IDENTIFIER                    = DEFAULT
   PEI_ARCH                            = IA32
   PEI_ARCH                            = IA32
   DXE_ARCH                            = X64
   DXE_ARCH                            = X64
@@ -95,6 +95,10 @@
 [PcdsFixedAtBuild]
 [PcdsFixedAtBuild]
   gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
   gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
 
 
+[PcdsDynamicExDefault.X64]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow
+
 #
 #
 # MinPlatform common include for required feature PCD
 # MinPlatform common include for required feature PCD
 # These PCD must be set before the core include files, CoreCommonLib,
 # These PCD must be set before the core include files, CoreCommonLib,

+ 38 - 0
Features/Intel/AdvancedFeaturePkg/Readme.md

@@ -0,0 +1,38 @@
+# Overview
+Build all advanced features for testing build and integration.
+
+Please refer to individual feature packages for details on intended uses.
+
+# High-Level Theory of Operation
+Enable all features and build a reasonable default configuration.  This is not expected to produce binaries that are directly usable in a product as features may require board or silicon specific configuration and libraries.
+
+## Firmware Volumes
+Produces:
+* FvAdvancedPreMemory
+* FvAdvancedUncompressed
+* FvAdvanced
+
+## Build
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
+
+## Windows Example:
+With current working directory at O:\
+
+git clone https://github.com/tianocore/edk2.git
+
+git clone https://github.com/tianocore/edk2-platforms.git
+
+set workspace=O:\
+
+set EDK_TOOLS_PATH=O:\Edk2\BaseTools
+
+set packages_path=O:\edk2;O:\edk2-non-osi;O:\edk2-platforms\Platform\Intel;O:\edk2-platforms\Silicon\Intel;O:\edk2-platforms\Platform\Qemu;O:\edk2-platforms\Silicon\Qemu;O:\edk2-platforms\Features\Intel;O:\edk2-platforms\Features\Intel\Debugging;O:\edk2-platforms\Features\Intel\Network;O:\edk2-platforms\Features\Intel\OutOfBandManagement;O:\edk2-platforms\Features\Intel\PowerManagement;O:\edk2-platforms\Features\Intel\SystemInformation;O:\edk2-platforms\Features\Intel\UserInterface
+
+cd \edk2
+
+edksetup.bat Rebuild
+
+build -a IA32 -a X64 -t CLANGPDB -b NOOPT -p AdvancedFeaturePkg\AdvancedFeaturePkg.dsc

+ 3 - 0
Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

@@ -34,6 +34,9 @@
 #
 #
 !include MinPlatformPkg/Include/Dsc/MinPlatformFeaturesPcd.dsc.inc
 !include MinPlatformPkg/Include/Dsc/MinPlatformFeaturesPcd.dsc.inc
 
 
+[PcdsFeatureFlag.X64]
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion                       |FALSE
+
 #
 #
 # Include common libraries
 # Include common libraries
 #
 #

+ 4 - 5
Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md

@@ -91,11 +91,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 6 - 0
Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md

@@ -120,11 +120,17 @@ Status Code (ReportStatusCode) -> Beep Value (GetBeepValueFromStatusCode).
 ReportStatusCode () -> BeepStatusCodeReportWorker () -> GetBeepValueFromStatusCode () -> Beep ()
 ReportStatusCode () -> BeepStatusCodeReportWorker () -> GetBeepValueFromStatusCode () -> Beep ()
 
 
 ## Build Flows
 ## Build Flows
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
+
 Standalone build
 Standalone build
 * build -a IA32 -a X64 -p Debugging\BeepDebugFeaturePkg\BeepDebugFeaturePkg.dsc
 * build -a IA32 -a X64 -p Debugging\BeepDebugFeaturePkg\BeepDebugFeaturePkg.dsc
 
 
 AdvanceFeaturePkg build
 AdvanceFeaturePkg build
 * build -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
 * build -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+
 ## Test Point Results
 ## Test Point Results
 None
 None
 
 

+ 4 - 1
Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md

@@ -111,7 +111,10 @@ Status Code (ReportStatusCode) -> Post Code (GetPostCodeFromStatusCode).
 ReportStatusCode () -> PostCodeStatusCodeReportWorker () -> GetPostCodeFromStatusCode () -> PostCode ()
 ReportStatusCode () -> PostCodeStatusCodeReportWorker () -> GetPostCodeFromStatusCode () -> PostCode ()
 
 
 ## Build Flows
 ## Build Flows
-There are not special build flows.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 There are no test points defined.
 There are no test points defined.

+ 4 - 5
Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md

@@ -72,11 +72,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 No test points implemented
 No test points implemented

+ 4 - 5
Features/Intel/Network/NetworkFeaturePkg/Readme.md

@@ -69,11 +69,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 4 - 1
Features/Intel/OutOfBandManagement/AsfFeaturePkg/Readme.md

@@ -44,7 +44,10 @@ AsfPushEvent() -> through SmBus -> NIC -> Remote management consoles
 N/A now.
 N/A now.
 
 
 ## Build Flows
 ## Build Flows
-There is not special build flow.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 There are not test points implemented.
 There are not test points implemented.

+ 2 - 0
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.c

@@ -9,6 +9,7 @@
 #include "IpmiHooks.h"
 #include "IpmiHooks.h"
 
 
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 IpmiSendCommand (
 IpmiSendCommand (
   IN      IPMI_TRANSPORT               *This,
   IN      IPMI_TRANSPORT               *This,
   IN      UINT8                        NetFunction,
   IN      UINT8                        NetFunction,
@@ -64,6 +65,7 @@ Returns:
 } // IpmiSendCommand()
 } // IpmiSendCommand()
 
 
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 IpmiGetBmcStatus (
 IpmiGetBmcStatus (
   IN IPMI_TRANSPORT                *This,
   IN IPMI_TRANSPORT                *This,
   OUT BMC_STATUS                   *BmcStatus,
   OUT BMC_STATUS                   *BmcStatus,

+ 2 - 0
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.h

@@ -15,6 +15,7 @@
 // Internal(hook) function list
 // Internal(hook) function list
 //
 //
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 IpmiSendCommand (
 IpmiSendCommand (
   IN      IPMI_TRANSPORT               *This,
   IN      IPMI_TRANSPORT               *This,
   IN      UINT8                        NetFunction,
   IN      UINT8                        NetFunction,
@@ -54,6 +55,7 @@ Returns:
 ;
 ;
 
 
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 IpmiGetBmcStatus (
 IpmiGetBmcStatus (
   IN IPMI_TRANSPORT                                    *This,
   IN IPMI_TRANSPORT                                    *This,
   OUT BMC_STATUS                                       *BmcStatus,
   OUT BMC_STATUS                                       *BmcStatus,

+ 1 - 1
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.c

@@ -28,6 +28,7 @@
  @retval EFI_UNSUPPORTED  IPMI is not available.
  @retval EFI_UNSUPPORTED  IPMI is not available.
 **/
 **/
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 LocateIpmiInterface (
 LocateIpmiInterface (
   IN EFI_HANDLE             ImageHandle,
   IN EFI_HANDLE             ImageHandle,
   IN EFI_SYSTEM_TABLE       *SystemTable
   IN EFI_SYSTEM_TABLE       *SystemTable
@@ -43,4 +44,3 @@ LocateIpmiInterface (
 
 
   return Status;
   return Status;
 } // LocateIpmiInterface()
 } // LocateIpmiInterface()
-

+ 1 - 1
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.c

@@ -132,6 +132,7 @@ IpmiSubmitCommand (
 
 
 **/
 **/
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 IpmiGetBmcStatus (
 IpmiGetBmcStatus (
   OUT BMC_STATUS                         *BmcStatus,
   OUT BMC_STATUS                         *BmcStatus,
   OUT SM_COM_ADDRESS                     *ComAddress
   OUT SM_COM_ADDRESS                     *ComAddress
@@ -152,4 +153,3 @@ IpmiGetBmcStatus (
                              );
                              );
   return Status;
   return Status;
 }
 }
-

+ 4 - 5
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md

@@ -58,11 +58,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 4 - 1
Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md

@@ -46,7 +46,10 @@ GetSpcrDevice() -> serial port device path -> get PCI info and serial port info
 GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
 GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
 
 
 ## Build Flows
 ## Build Flows
-There is not special build flow.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 There are not test points implemented.
 There are not test points implemented.

+ 1 - 1
Features/Intel/PlatformPayloadFeaturePkg/Library/PcdInitLib/PcdInitLib.c

@@ -21,6 +21,7 @@
 
 
 **/
 **/
 EFI_STATUS
 EFI_STATUS
+EFIAPI
 PcdInitConstructor (
 PcdInitConstructor (
   VOID
   VOID
   )
   )
@@ -86,4 +87,3 @@ PcdInitConstructor (
 
 
   return EFI_SUCCESS;
   return EFI_SUCCESS;
 }
 }
-

+ 4 - 5
Features/Intel/PowerManagement/S3FeaturePkg/Readme.md

@@ -63,11 +63,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 4 - 5
Features/Intel/SystemInformation/SmbiosFeaturePkg/Readme.md

@@ -65,11 +65,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 8 - 1
Features/Intel/TemplateFeaturePkg/Readme.md

@@ -45,11 +45,18 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-Any special build flows should be described in this section.
+Standard and special build flows should be described in this section.
 
 
 This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
 This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
 standard flow in the feature package template is used, this section may be empty.
 standard flow in the feature package template is used, this section may be empty.
 
 
+Example:
+
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
+
 ## Test Point Results
 ## Test Point Results
 The test(s) that can verify porting is complete for the feature.
 The test(s) that can verify porting is complete for the feature.
 
 

+ 4 - 2
Features/Intel/UserInterface/LogoFeaturePkg/Readme.md

@@ -78,8 +78,10 @@ Architecturally defined data structures and flows for the feature.
 Consumer gets image from the logo driver via EDKII_PLATFORM_LOGO_PROTOCOL.
 Consumer gets image from the logo driver via EDKII_PLATFORM_LOGO_PROTOCOL.
 
 
 ## Build Flows
 ## Build Flows
-
-No any special build flows is needed.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 
 

+ 4 - 5
Features/Intel/UserInterface/UserAuthFeaturePkg/Readme.md

@@ -59,11 +59,10 @@ Architecturally defined data structures and flows for the feature.
 Key control flows for the feature.
 Key control flows for the feature.
 
 
 ## Build Flows
 ## Build Flows
-*_TODO_*
-Any special build flows should be described in this section.
-
-This is particularly useful for features that use custom build tools or require non-standard tool configuration. If the
-standard flow in the feature package template is used, this section may be empty.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 *_TODO_*
 *_TODO_*

+ 4 - 1
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Readme.md

@@ -43,7 +43,10 @@ User touch the touch panel -> absolute pointer and status -> virtual keyboard ev
 This driver use AbsolutePointer protocol to get the info of user input, and use GraphicsOutput protocol to show the picture.
 This driver use AbsolutePointer protocol to get the info of user input, and use GraphicsOutput protocol to show the picture.
 
 
 ## Build Flows
 ## Build Flows
-There is not special build flow.
+Supported build targets
+* VS2019
+* CLANGPDB
+* GCC5
 
 
 ## Test Point Results
 ## Test Point Results
 Test this driver in a device with touch panel and the BIOS support touch panel driver.
 Test this driver in a device with touch panel and the BIOS support touch panel driver.

+ 4 - 0
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc

@@ -34,6 +34,10 @@
 #
 #
 !include MinPlatformPkg/Include/Dsc/MinPlatformFeaturesPcd.dsc.inc
 !include MinPlatformPkg/Include/Dsc/MinPlatformFeaturesPcd.dsc.inc
 
 
+[PcdsDynamicExDefault.X64]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow
+
 #
 #
 # Include common libraries
 # Include common libraries
 #
 #