TianoCore EDK2 master
Loading...
Searching...
No Matches
FspGlobalData.h
Go to the documentation of this file.
1
8#ifndef _FSP_GLOBAL_DATA_H_
9#define _FSP_GLOBAL_DATA_H_
10
11#include <FspEas.h>
12
13#define FSP_IN_API_MODE 0
14#define FSP_IN_DISPATCH_MODE 1
15#define FSP_GLOBAL_DATA_VERSION 0x3
16
17#pragma pack(1)
18
19typedef enum {
20 TempRamInitApiIndex,
21 FspInitApiIndex,
22 NotifyPhaseApiIndex,
23 FspMemoryInitApiIndex,
24 TempRamExitApiIndex,
25 FspSiliconInitApiIndex,
26 FspMultiPhaseSiInitApiIndex,
27 FspSmmInitApiIndex,
28 FspMultiPhaseMemInitApiIndex,
29 FspApiIndexMax
30} FSP_API_INDEX;
31
32typedef struct {
33 VOID *DataPtr;
34 UINTN MicrocodeRegionBase;
35 UINTN MicrocodeRegionSize;
36 UINTN CodeRegionBase;
37 UINTN CodeRegionSize;
38 UINTN Reserved;
40
41#define FSP_GLOBAL_DATA_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'D')
42#define FSP_PERFORMANCE_DATA_SIGNATURE SIGNATURE_32 ('P', 'E', 'R', 'F')
43#define FSP_PERFORMANCE_DATA_TIMER_MASK 0xFFFFFFFFFFFFFF
44
45typedef struct {
46 UINT32 Signature;
47 UINT8 Version;
48 UINT8 Reserved1[3];
53 VOID *SmmInitUpdPtr;
57 UINT32 StatusCode;
58 UINT8 ApiIdx;
62 UINT8 FspMode;
63 UINT8 OnSeparateStack;
64 UINT8 Reserved2;
65 UINT32 NumberOfPhases;
66 UINT32 PhasesExecuted;
67 UINT32 Reserved3[8];
75 VOID *TempRamInitUpdPtr;
76 VOID *MemoryInitUpdPtr;
77 VOID *SiliconInitUpdPtr;
84 FSP_INFO_HEADER *FspInfoHeader;
85 VOID *UpdDataPtr;
86 VOID *FspHobListPtr;
87 VOID *VariableRequestParameterPtr;
93 UINT8 Reserved4[16];
94 UINT32 PerfSig;
95 UINT16 PerfLen;
96 UINT16 Reserved5;
97 UINT32 PerfIdx;
98 UINT32 Reserved6;
99 UINT64 PerfData[32];
101
102#pragma pack()
103
104#endif
UINT64 UINTN
FSP_PLAT_DATA PlatformData
Definition: FspGlobalData.h:74
VOID * FunctionParameterPtr
Definition: FspGlobalData.h:83