You've already forked edk2-platforms
mirror of
https://github.com/Dasharo/edk2-platforms.git
synced 2026-03-06 14:51:43 -08:00
The BeepDebugFeaturePkg was malformed and did not build anything and thus wasn't testable in standalone build. Added gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable to properly control the advanced feature inclusion. Use the standard MinPlatform includes for core libraries. This increases the build time, but reduces complexity when integrating into a board build. Board build optimization is more valuable than standalone build optimization. Enable standalone build to test the library build and the component builds using edk2 StatusCodeHandler drivers. Add unique file names for the StatusCodeHandler components to avoid collisions with any existing board handlers when incorporated in board DSC and FDF files. Add PreMemory.fdf and PostMemory.fdf content for including in board FDF or AdvancedFeaturePkg in the future. Removed unused sections in DSC and FDF to reduce file clutter. Removed stale file header content from prior proprietary licensing. Moved feature customization and common include into the package DSC file to reduce board complexity when BeepDebugFeature.dsc is included. Removed the FixedAtBuild build control for beep feature as it would be redundant with the FeatureFlag control of the whole feature. Build control is via PcdBeepDebugFeatureEnable and dynamic control is via PcdStatusCodeUseBeep. Improved Readme content, format, and coding style use. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Eric Dong <eric.dong@intel.com> Cc: Ming Tan <ming.tan@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
107 lines
4.4 KiB
Plaintext
107 lines
4.4 KiB
Plaintext
## @file
|
|
# This package provides Beep Debug feature.
|
|
# This file should be included into another package DSC file to build this feature.
|
|
#
|
|
# The DEC files are used by the utilities that parse DSC and
|
|
# INF files to generate AutoGen.c and AutoGen.h files
|
|
# for the build infrastructure.
|
|
#
|
|
# Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
################################################################################
|
|
#
|
|
# Defines Section - statements that will be processed to create a Makefile.
|
|
#
|
|
################################################################################
|
|
[Defines]
|
|
!ifndef $(PEI_ARCH)
|
|
!error "PEI_ARCH must be specified to build this feature!"
|
|
!endif
|
|
!ifndef $(DXE_ARCH)
|
|
!error "DXE_ARCH must be specified to build this feature!"
|
|
!endif
|
|
|
|
DEFINE BEEP_PEIM_FILENAME = b2356504-8ea3-42bd-912a-4b331990644a
|
|
DEFINE BEEP_DXE_FILENAME = f1211fa9-d83d-4c79-8726-3afaebba1070
|
|
DEFINE BEEP_SMM_FILENAME = a82cd452-0f17-4417-b8be-bb8cfdf9fa26
|
|
|
|
################################################################################
|
|
#
|
|
# Component section - list of all components that need built for this feature.
|
|
#
|
|
# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
|
|
# into firmware volume images. This section is just a list of modules to compile from
|
|
# source into UEFI-compliant binaries.
|
|
# It is the FDF file that contains information on combining binary files into firmware
|
|
# volume images, whose concept is beyond UEFI and is described in PI specification.
|
|
# There may also be modules listed in this section that are not required in the FDF file,
|
|
# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
|
|
# generated for it, but the binary will not be put into any firmware volume.
|
|
#
|
|
################################################################################
|
|
#
|
|
# Feature PEI Components
|
|
#
|
|
|
|
#
|
|
# By default, make the functional control a patcheable in module PCD
|
|
#
|
|
[PcdsPatchableInModule]
|
|
gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
|
|
|
|
[LibraryClasses.Common]
|
|
BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
|
|
BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
|
|
|
|
[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
|
|
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
|
|
|
|
[LibraryClasses.DXE_RUNTIME_DRIVER]
|
|
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
|
|
|
|
[LibraryClasses.DXE_SMM_DRIVER]
|
|
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
|
|
|
|
[Components.IA32]
|
|
|
|
MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
|
|
<Defines>
|
|
#
|
|
# Many boards already have StatusCodeHandler components built from the common core code
|
|
# Providing a unique name avoids collisions. Both status code handler components will
|
|
# install their listeners with the status code routers.
|
|
#
|
|
FILE_GUID = $(BEEP_PEIM_FILENAME)
|
|
<LibraryClasses>
|
|
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
|
|
}
|
|
|
|
[Components.X64]
|
|
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
|
|
<Defines>
|
|
#
|
|
# Many boards already have StatusCodeHandler components built from the common core code
|
|
# Providing a unique name avoids collisions. Both status code handler components will
|
|
# install their listeners with the status code routers.
|
|
#
|
|
FILE_GUID = $(BEEP_DXE_FILENAME)
|
|
<LibraryClasses>
|
|
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
|
|
}
|
|
|
|
MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
|
|
<Defines>
|
|
#
|
|
# Many boards already have StatusCodeHandler components built from the common core code
|
|
# Providing a unique name avoids collisions. Both status code handler components will
|
|
# install their listeners with the status code routers.
|
|
#
|
|
FILE_GUID = $(BEEP_SMM_FILENAME)
|
|
<LibraryClasses>
|
|
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
|
|
}
|