1 /*++ 2 3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 EfiPerf.h 15 16 Abstract: 17 EfiPerf.h provides performance primitive for the DXE and Shell phase 18 19 20 --*/ 21 22 #ifndef _EFI_PERF_H_ 23 #define _EFI_PERF_H_ 24 25 #include EFI_PROTOCOL_DEFINITION (Performance) 26 27 EFI_STATUS 28 EFIAPI 29 InitializePerformanceInfrastructure ( 30 IN EFI_HANDLE ImageHandle, 31 IN EFI_SYSTEM_TABLE *SystemTable, 32 IN UINT64 Ticker 33 ) 34 /*++ 35 36 Routine Description: 37 38 TODO: Add function description 39 40 Arguments: 41 42 ImageHandle - TODO: add argument description 43 SystemTable - TODO: add argument description 44 Ticker - TODO: add argument description 45 46 Returns: 47 48 TODO: add return values 49 50 --*/ 51 ; 52 53 EFI_STATUS 54 EFIAPI 55 EndMeasure ( 56 IN EFI_HANDLE Handle, 57 IN UINT16 *Token, 58 IN UINT16 *Host, 59 IN UINT64 Ticker 60 ) 61 /*++ 62 63 Routine Description: 64 65 TODO: Add function description 66 67 Arguments: 68 69 Handle - TODO: add argument description 70 Token - TODO: add argument description 71 Host - TODO: add argument description 72 Ticker - TODO: add argument description 73 74 Returns: 75 76 TODO: add return values 77 78 --*/ 79 ; 80 81 EFI_STATUS 82 EFIAPI 83 StartMeasure ( 84 IN EFI_HANDLE Handle, 85 IN UINT16 *Token, 86 IN UINT16 *Host, 87 IN UINT64 Ticker 88 ) 89 /*++ 90 91 Routine Description: 92 93 TODO: Add function description 94 95 Arguments: 96 97 Handle - TODO: add argument description 98 Token - TODO: add argument description 99 Host - TODO: add argument description 100 Ticker - TODO: add argument description 101 102 Returns: 103 104 TODO: add return values 105 106 --*/ 107 ; 108 109 EFI_STATUS 110 EFIAPI 111 UpdateMeasure ( 112 IN EFI_HANDLE Handle, 113 IN UINT16 *Token, 114 IN UINT16 *Host, 115 IN EFI_HANDLE HandleNew, 116 IN UINT16 *TokenNew, 117 IN UINT16 *HostNew 118 ) 119 /*++ 120 121 Routine Description: 122 123 TODO: Add function description 124 125 Arguments: 126 127 Handle - TODO: add argument description 128 Token - TODO: add argument description 129 Host - TODO: add argument description 130 HandleNew - TODO: add argument description 131 TokenNew - TODO: add argument description 132 HostNew - TODO: add argument description 133 134 Returns: 135 136 TODO: add return values 137 138 --*/ 139 ; 140 141 #ifdef EFI_DXE_PERFORMANCE 142 #define PERF_ENABLE(handle, table, ticker) InitializePerformanceInfrastructure (handle, table, ticker) 143 #define PERF_START(handle, token, host, ticker) StartMeasure (handle, token, host, ticker) 144 #define PERF_END(handle, token, host, ticker) EndMeasure (handle, token, host, ticker) 145 #define PERF_UPDATE(handle, token, host, handlenew, tokennew, hostnew) \ 146 UpdateMeasure (handle, \ 147 token, \ 148 host, \ 149 handlenew, \ 150 tokennew, \ 151 hostnew \ 152 ) 153 #define PERF_CODE(code) code 154 #else 155 #define PERF_ENABLE(handle, table, ticker) 156 #define PERF_START(handle, token, host, ticker) 157 #define PERF_END(handle, token, host, ticker) 158 #define PERF_UPDATE(handle, token, host, handlenew, tokennew, hostnew) 159 #define PERF_CODE(code) 160 #endif 161 162 #endif 163