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