]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLibInternal.h
MdeModulePkg/BmpSupportLib: Check PixelHeight/PixelWidth against 0
[mirror_edk2.git] / MdeModulePkg / Library / DxeCorePerformanceLib / DxeCorePerformanceLibInternal.h
CommitLineData
aa79b0b3 1/** @file\r
857dfc45 2 Master header files for DxeCorePerformanceLib instance.\r
3\r
f0da4d7d 4 This header file holds the prototypes of the Performance and PerformanceEx Protocol published by this\r
857dfc45 5 library instance at its constructor.\r
aa79b0b3 6\r
9609d24b 7Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
cd5ebaa0 8This program and the accompanying materials\r
aa79b0b3 9are licensed and made available under the terms and conditions of the BSD License\r
10which accompanies this distribution. The full text of the license may be found at\r
11http://opensource.org/licenses/bsd-license.php\r
12\r
13THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
14WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
15\r
16**/\r
d1102dba 17\r
aa79b0b3 18#ifndef _DXE_CORE_PERFORMANCE_LIB_INTERNAL_H_\r
19#define _DXE_CORE_PERFORMANCE_LIB_INTERNAL_H_\r
20\r
21\r
22#include <PiDxe.h>\r
23\r
ee0961f7 24#include <Guid/Performance.h>\r
137fb13d 25#include <Guid/PerformanceMeasurement.h>\r
9609d24b
DB
26#include <Guid/ExtendedFirmwarePerformance.h>\r
27#include <Guid/ZeroGuid.h>\r
28#include <Guid/EventGroup.h>\r
29#include <Guid/FirmwarePerformance.h>\r
30#include <Guid/PiSmmCommunicationRegionTable.h>\r
31\r
32#include <Protocol/DriverBinding.h>\r
33#include <Protocol/LoadedImage.h>\r
34#include <Protocol/ComponentName2.h>\r
35#include <Protocol/DevicePathToText.h>\r
36#include <Protocol/SmmCommunication.h>\r
aa79b0b3 37\r
38#include <Library/PerformanceLib.h>\r
39#include <Library/DebugLib.h>\r
40#include <Library/HobLib.h>\r
41#include <Library/BaseLib.h>\r
42#include <Library/BaseMemoryLib.h>\r
43#include <Library/TimerLib.h>\r
44#include <Library/PcdLib.h>\r
6b4d58a1 45#include <Library/DevicePathLib.h>\r
aa79b0b3 46#include <Library/UefiBootServicesTableLib.h>\r
9609d24b 47#include <Library/UefiRuntimeServicesTableLib.h>\r
aa79b0b3 48#include <Library/MemoryAllocationLib.h>\r
cfb0aba7 49#include <Library/UefiLib.h>\r
9609d24b
DB
50#include <Library/ReportStatusCodeLib.h>\r
51#include <Library/DxeServicesLib.h>\r
52#include <Library/PeCoffGetEntryPointLib.h>\r
aa79b0b3 53\r
f0da4d7d 54/**\r
137fb13d
BD
55 Create performance record with event description and a timestamp.\r
56\r
57 @param CallerIdentifier - Image handle or pointer to caller ID GUID.\r
58 @param Guid - Pointer to a GUID.\r
59 @param String - Pointer to a string describing the measurement.\r
60 @param TimeStamp - 64-bit time stamp.\r
61 @param Address - Pointer to a location in memory relevant to the measurement.\r
62 @param Identifier - Performance identifier describing the type of measurement.\r
63 @param Attribute - The attribute of the measurement. According to attribute can create a start\r
64 record for PERF_START/PERF_START_EX, or a end record for PERF_END/PERF_END_EX,\r
65 or a general record for other Perf macros.\r
66\r
67 @retval EFI_SUCCESS - Successfully created performance record.\r
68 @retval EFI_OUT_OF_RESOURCES - Ran out of space to store the records.\r
69 @retval EFI_INVALID_PARAMETER - Invalid parameter passed to function - NULL\r
70 pointer or invalid PerfId.\r
f0da4d7d
SZ
71**/\r
72EFI_STATUS\r
73EFIAPI\r
137fb13d
BD
74CreatePerformanceMeasurement(\r
75 IN CONST VOID *CallerIdentifier, OPTIONAL\r
76 IN CONST VOID *Guid, OPTIONAL\r
77 IN CONST CHAR8 *String, OPTIONAL\r
78 IN UINT64 TimeStamp, OPTIONAL\r
79 IN UINT64 Address, OPTIONAL\r
80 IN UINT32 Identifier,\r
81 IN PERF_MEASUREMENT_ATTRIBUTE Attribute\r
f0da4d7d
SZ
82 );\r
83\r
aa79b0b3 84#endif\r