summaryrefslogtreecommitdiff
path: root/EDK/Foundation/Guid/PeiPerformanceHob/PeiPerformanceHob.h
blob: f98f35ef0a70bdb9996e54b86168632d8719046a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*++

Copyright (c) 2004 - 2012, Intel Corporation                                                         
All rights reserved. This program and the accompanying materials                          
are licensed and made available under the terms and conditions of the BSD License         
which accompanies this distribution.  The full text of the license may be found at        
http://opensource.org/licenses/bsd-license.php                                            
                                                                                          
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             

Module Name:
  
  PeiPerformanceHob.h
    
Abstract:
  The PEI Firmware performance HOB definition.

--*/

#ifndef _PEI_PERFORMANCE_HOB_GUID_H_
#define _PEI_PERFORMANCE_HOB_GUID_H_

#define PEI_FIRMWARE_PERFORMANCE_GUID \
  { \
    0x55765e8f, 0x21a, 0x41f9, 0x93, 0x2d, 0x4c, 0x49, 0xc5, 0xb7, 0xef, 0x5d \
  }

#pragma pack(push, 1)
typedef struct _PEI_GUID_EVENT_REC {
  UINT16    ProgressID;
  EFI_GUID  Guid;
  UINT32    ApicID;
  UINT64    Timestamp;
} PEI_GUID_EVENT_REC;
#pragma pack(pop)

typedef struct {
  UINT32              NumberOfEntries;
  UINT32              Reserved;
  PEI_GUID_EVENT_REC  GuidEventRecord[1];
} PEI_FIRMWARE_PERFORMANCE_HOB;

#define PEIM_START_ID         0x1
#define PEIM_END_ID           0x2
#define PREMEM_START_ID       0x20
#define PREMEM_END_ID         0x21
#define DISMEM_START_ID       0x30
#define DISMEM_END_ID         0x31
#define POSTMEM_START_ID      0x40
#define POSTMEM_END_ID        0x41

extern EFI_GUID gPeiFirmwarePerformanceGuid;

#endif