mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/SmmCorePerformanceLib:Track FPDT record in SMM phase
V3: a. Handle the case when string is empty in String Record. b. Use gEdkiiFpdtExtendedFirmwarePerformanceGuid to report status code. c. Refine the code logic. V2: Update SmmCorePerformanceLib to report the buffer address of boot performance records instead of records contents. Updated to convert Pref entry to FPDT record in SMM phase and then export records to FPDT table. Cc: Liming Gao <liming.gao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
9609d24b19
commit
2001f84e8c
File diff suppressed because it is too large
Load Diff
|
@ -8,7 +8,7 @@
|
|||
# This library is mainly used by SMM Core to start performance logging to ensure that
|
||||
# SMM Performance and PerformanceEx Protocol are installed at the very beginning of SMM phase.
|
||||
#
|
||||
# Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -58,9 +58,12 @@
|
|||
SmmServicesTableLib
|
||||
SmmMemLib
|
||||
UefiLib
|
||||
ReportStatusCodeLib
|
||||
PeCoffGetEntryPointLib
|
||||
|
||||
[Protocols]
|
||||
gEfiSmmBase2ProtocolGuid ## CONSUMES
|
||||
gEdkiiSmmReadyToBootProtocolGuid ## NOTIFY
|
||||
|
||||
[Guids]
|
||||
## PRODUCES ## UNDEFINED # Install protocol
|
||||
|
@ -71,6 +74,9 @@
|
|||
gSmmPerformanceExProtocolGuid
|
||||
## PRODUCES ## SystemTable
|
||||
gPerformanceProtocolGuid
|
||||
gEdkiiFpdtExtendedFirmwarePerformanceGuid ## SOMETIMES_PRODUCES ## UNDEFINED # StatusCode Data
|
||||
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
|
||||
|
||||
[Pcd]
|
||||
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES
|
||||
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly ## CONSUMES
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
This header file holds the prototypes of the SMM Performance and PerformanceEx Protocol published by this
|
||||
library instance at its constructor.
|
||||
|
||||
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -20,6 +20,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
|
||||
#include <Guid/Performance.h>
|
||||
#include <Guid/ExtendedFirmwarePerformance.h>
|
||||
#include <Guid/FirmwarePerformance.h>
|
||||
#include <Guid/ZeroGuid.h>
|
||||
#include <Guid/EventGroup.h>
|
||||
|
||||
#include <Library/SmmServicesTableLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
|
@ -33,8 +37,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#include <Library/MemoryAllocationLib.h>
|
||||
#include <Library/SynchronizationLib.h>
|
||||
#include <Library/SmmMemLib.h>
|
||||
#include <Library/ReportStatusCodeLib.h>
|
||||
#include <Library/DxeServicesLib.h>
|
||||
#include <Library/PeCoffGetEntryPointLib.h>
|
||||
|
||||
#include <Protocol/SmmBase2.h>
|
||||
#include <Protocol/LoadedImage.h>
|
||||
#include <Protocol/DevicePathToText.h>
|
||||
|
||||
//
|
||||
// Interface declarations for SMM PerformanceEx Protocol.
|
||||
|
|
Loading…
Reference in New Issue