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 20/27] SpcrFeaturePkg:
> Use MinPlatform build include files
> 
> Also added feature enable flag
> 
> 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/OutOfBandManagement/SpcrFeaturePkg/Include/Library/Sp
> crDeviceLib.h |  2 +-
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMem
> ory.fdf          | 13 ++++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemo
> ry.fdf           | 11 ++++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeatu
> re.dsc         | 62 --------------------
>  Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> | 12 ++--
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.de
> c              |  6 ++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.ds
> c              | 18 ++++++
>  7 files changed, 55 insertions(+), 69 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> index 947813815e..2e50270ee6 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> +++ SpcrDeviceLib.h
> @@ -12,7 +12,7 @@
> 
>  /**
>    Get a Serial Port device used for SPCR.
> -  The caller should call FreePool() to free the memory if return value is not
> NULL.
> +  The caller should call FreePool () to free the memory if return value is 
> not
> NULL.
> 
>    @retval NULL          Can not get device.
>    @retval Others        A serial port device path.
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mory.fdf
> new file mode 100644
> index 0000000000..f963f567c2
> --- /dev/null
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -0,0 +1,13 @@
> +## @file
> +#  FDF file for post-memory SpcrFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mory.fdf
> new file mode 100644
> index 0000000000..3c461e7fbc
> --- /dev/null
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mor
> +++ y.fdf
> @@ -0,0 +1,11 @@
> +## @file
> +#  FDF file for pre-memory SpcrFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> index c51e552df5..b06ddf4fe6 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> t
> +++ ure.dsc
> @@ -25,40 +25,9 @@
>    !error "DXE_ARCH must be specified to build this feature!"
>  !endif
> 
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
>  [LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -  #######################################
> -  # SpcrFeaturePkg Packages
> -  #######################################
> 
> SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.i
> nf
> 
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> 
> ##########################################################
> ######################
>  #
>  # Component section - list of all components that need built for this 
> feature.
> @@ -74,38 +43,7 @@
>  #
> 
> ##########################################################
> ######################
> 
> -#
> -# Feature DXE Components
> -#
> -
>  # @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
>  #        is completed.
>  [Components.X64]
> -  #####################################
> -  # Spcr Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
>    SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
> -  #{
> -#    <LibraryClasses>
> -#
> SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.i
> nf
> -#  }
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are 
> appended to any
> -#                        standard flags that are defined by the build 
> process. They can
> be
> -#                        applied for any modules or only those modules with 
> the
> specific
> -#                        module style (EDK or EDKII) specified in 
> [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the 
> whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> index 0a5d48876d..66138ee0f6 100644
> --- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> +++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> @@ -22,10 +22,10 @@ Platform can implement its own library to select the
> serial port device.
>  * SpcrDeviceLibNull
> 
>  ## SpcrAcpiDxe
> -The main driver of convert the serial port device info to ACPI table.
> -It will call the function GetSpcrDevice() in the library SpcrDeviceLib to 
> get the
> serial port device path.
> +The main driver of convert the serial port device info into an ACPI table.
> +It will call the function GetSpcrDevice () in the library SpcrDeviceLib to 
> get
> the serial port device path.
>  If the serial port device path is not NULL, then use gEfiPciIoProtocolGuid to
> get the PCI info, and use the gEfiSerialIoProtocolGuid to get the serial port
> info, such as the baud rate etc.
> -If the serial port device is PCI device 00:16:03 (AMT serial over lan PCI
> device), then will set the BaseAddress.
> +If the serial port device is PCI device 00:16:03 (AMT serial over LAN PCI
> device), then will set the BaseAddress.
>  At last fill the ACPI table as Windows required.
> 
>  ## SpcrDeviceLibNull
> @@ -37,19 +37,19 @@ Fill the serial port device info used for SPCR to ACPI
> table.
> 
>  ## Configuration
>  There is not special configuration.
> -But the platform maybe implemente its own SpcrDeviceLib.
> +But the platform may implement its own SpcrDeviceLib.
> 
>  ## Data Flows
>  GetSpcrDevice() -> serial port device path -> get PCI info and serial port 
> info
> -> ACPI table.
> 
>  ## Control Flows
> -GetSpcrDevice() in SpcrDeviceLib -> SpcrAcpiDxe.
> +GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
> 
>  ## Build Flows
>  There is not special build flow.
> 
>  ## Test Point Results
> -* Check the output ACPI table.
> +There are not test points implemented.
> 
>  ## Functional Exit Criteria
>  * Check the output ACPI table.
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> index 03776abf06..b084fad892 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> d
> +++ ec
> @@ -21,6 +21,12 @@
>  [Includes]
>    Include
> 
> +[Guids]
> +  gSpcrFeaturePkgTokenSpaceGuid = { 0xe978c988, 0xeeba, 0x4671, { 0xb8,
> +0x0d, 0xcc, 0x8b, 0x89, 0xb5, 0xd1, 0xef }}
> +
> +[PcdsFeatureFlag]
> +
> +gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable|FALSE|BOOLEAN
> |0x0000
> +0001
> +
>  [LibraryClasses]
>    ## @libraryclass  Provides an API for get SPCR device.
>    #
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> index 82d2d3ac73..2ee874a58e 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> d
> +++ sc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85641): https://edk2.groups.io/g/devel/message/85641
Mute This Topic: https://groups.io/mt/88365350/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to