EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

PerformancePkg/Dp_App/Dp.h

Go to the documentation of this file.
00001 
00014 #ifndef _EFI_APP_DP_H_
00015 #define _EFI_APP_DP_H_
00016 
00017 #include <Library/ShellLib.h>
00018 
00019 #define DP_MAJOR_VERSION        2
00020 #define DP_MINOR_VERSION        3
00021 
00026 #define DP_DEBUG                0
00027 
00032 #define PROFILING_IMPLEMENTED   0
00033 
00034 #define DEFAULT_THRESHOLD       1000    ///< One millisecond.
00035 #define DEFAULT_DISPLAYCOUNT    50
00036 #define MAXIMUM_DISPLAYCOUNT    999999  ///< Arbitrary maximum reasonable number.
00037 
00038 #define PERF_MAXDUR             0xFFFFFFFFFFFFFFFFULL
00039 
00041 #define WITHIN_LIMIT( C, L)   ( ((L) == 0) || ((C) < (L)) )
00042 
00044 typedef struct {
00045   UINT64    StartCount;   
00046   UINT64    EndCount;     
00047   UINT32    Frequency;    
00048   BOOLEAN   CountUp;      
00049 } TIMER_INFO;
00050 
00060 #define PERF_INIT_CUM_DATA(t)   { 0ULL, PERF_MAXDUR, 0ULL, (t), 0U }
00061 
00062 typedef struct {
00063   UINT64  Duration;     
00064   UINT64  MinDur;       
00065   UINT64  MaxDur;       
00066   CHAR8   *Name;        
00067   UINT32  Count;        
00068 } PERF_CUM_DATA;
00069 
00070 typedef struct {
00071   UINT32                NumTrace;         
00072   UINT32                NumProfile;       
00073   UINT32                NumIncomplete;    
00074   UINT32                NumSummary;       
00075   UINT32                NumHandles;       
00076   UINT32                NumPEIMs;         
00077   UINT32                NumGlobal;        
00078 } PERF_SUMMARY_DATA;
00079 
00080 typedef struct {
00081   CONST VOID            *Handle;
00082   CONST CHAR8           *Token;           
00083   CONST CHAR8           *Module;          
00084   UINT64                StartTimeStamp;   
00085   UINT64                EndTimeStamp;     
00086 } MEASUREMENT_RECORD;
00087 
00088 typedef struct {
00089   CHAR8                 *Name;            
00090   UINT64                CumulativeTime;   
00091   UINT64                MinTime;          
00092   UINT64                MaxTime;          
00093   UINT32                Count;            
00094 } PROFILE_RECORD;
00095 
00096 typedef struct {
00097   UINT16             Token;
00098   SHELL_PARAM_TYPE   Type;
00099 } PARAM_ITEM_LIST;
00100 #endif  // _EFI_APP_DP_H_
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines