]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/PeiPerformanceHob.h
Code scrub for the following drivers and librarys.
[mirror_edk2.git] / MdeModulePkg / Include / Guid / PeiPerformanceHob.h
1 /** @file
2 This file defines performance guid for the performance entry in the HOB list,
3 and define the PEI Performance HOB data structures.
4
5 Copyright (c) 2006 - 2008, Intel Corporation. <BR>
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef __PEI_PERFORMANCE_HOB_H__
17 #define __PEI_PERFORMANCE_HOB_H__
18
19 //
20 // This is the GUID of PEI performance HOB
21 //
22 #define PEI_PERFORMANCE_HOB_GUID \
23 { 0xec4df5af, 0x4395, 0x4cc9, { 0x94, 0xde, 0x77, 0x50, 0x6d, 0x12, 0xc7, 0xb8 } }
24
25 //
26 // PEI_PERFORMANCE_STRING_SIZE must be a multiple of 8.
27 //
28 #define PEI_PERFORMANCE_STRING_SIZE 8
29 #define PEI_PERFORMANCE_STRING_LENGTH (PEI_PERFORMANCE_STRING_SIZE - 1)
30
31 typedef struct {
32 EFI_PHYSICAL_ADDRESS Handle;
33 CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE]; /// Measured token string name
34 CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE]; /// Module string name
35 UINT64 StartTimeStamp; /// Start time point
36 UINT64 EndTimeStamp; /// End time point
37 } PEI_PERFORMANCE_LOG_ENTRY;
38
39 //
40 // The header must be aligned at 8 bytes.
41 //
42 typedef struct {
43 UINT32 NumberOfEntries; /// The number of all performance log entries
44 UINT32 Reserved;
45 } PEI_PERFORMANCE_LOG_HEADER;
46
47
48 extern EFI_GUID gPeiPerformanceHobGuid;
49
50 #endif