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